fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. private static void sop(String s) { System.out.println(s); }
  11. public static void main (String[] args) throws java.lang.Exception
  12. {
  13. sop("ANONYMOUS, NO EXCEPTION");
  14. try (final BufferedReader br = new BufferedReader(new MyReader(), 42)
  15. ) {
  16. System.out.println(br.toString());
  17. } catch (Exception e) {
  18. e.printStackTrace();
  19. }
  20.  
  21. sop("ANONYMOUS, EXCEPTION");
  22. try (final BufferedReader br = new BufferedReader(new MyReader(), -42)
  23. ) {
  24. System.out.println(br.toString());
  25. } catch (Exception e) {
  26. e.printStackTrace();
  27. }
  28.  
  29. sop("NAMED, NO EXCEPTION");
  30. try (
  31. final Reader mr = new MyReader();
  32. final BufferedReader br = new BufferedReader(mr, 42)
  33. ) {
  34. System.out.println(br.toString());
  35. } catch (Exception e) {
  36. e.printStackTrace();
  37. }
  38.  
  39. sop("NAMED, EXCEPTION");
  40. try (
  41. final Reader mr = new MyReader();
  42. final BufferedReader br = new BufferedReader(mr, -42)
  43. ) {
  44. System.out.println(br.toString());
  45. } catch (Exception e) {
  46. e.printStackTrace();
  47. }
  48. }
  49.  
  50. private static final class MyReader extends Reader
  51. {
  52. public MyReader() {
  53. super();
  54. System.out.println("hello from reader");
  55. }
  56. @Override
  57. public void close() {
  58. System.out.println("bye from reader");
  59. }
  60. @Override
  61. public int read(char[] c, int m, int n) {
  62. return 37;
  63. }
  64. }
  65. }
Success #stdin #stdout #stderr 0.1s 320576KB
stdin
Standard input is empty
stdout
ANONYMOUS, NO EXCEPTION
hello from reader
java.io.BufferedReader@52e922
bye from reader
ANONYMOUS, EXCEPTION
hello from reader
NAMED, NO EXCEPTION
hello from reader
java.io.BufferedReader@10dea4e
bye from reader
bye from reader
NAMED, EXCEPTION
hello from reader
bye from reader
stderr
java.lang.IllegalArgumentException: Buffer size <= 0
	at java.io.BufferedReader.<init>(BufferedReader.java:103)
	at Ideone.main(Main.java:22)
java.lang.IllegalArgumentException: Buffer size <= 0
	at java.io.BufferedReader.<init>(BufferedReader.java:103)
	at Ideone.main(Main.java:42)