在print或println内部的IOException

4

大多数 IO 操作都需要使用 try catch 块或 throws。为什么在 System.out.print 或 println 中不需要 try catch 或 throws?如果这些方法内部有任何异常,我该如何知道是什么异常以及如何捕获它。

1个回答

3
您可以通过调用来检查错误。
System.out.checkError();

PrintStream.checkError()的javadoc说:

当且仅当此流遇到除InterruptedIOException之外的IOException或已调用setError方法时,返回true

如果您真的想监视System.out的异常,可以将自己的PrintStream设置为System.out并覆盖您感兴趣的方法。


System.out.checkError(); 如果有异常则返回true,否则返回false。但是如何知道具体是哪个异常? - sadananda salam
1
你无法找到原因。异常被默默地捕获,而问题标志被设置为:catch (IOException x) { trouble = true; } - tangens

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接