java - 当 IOException 通常发生时,我应该采取什么措施来正确处理它?

标签 java exception

<分区>

我正在使用文件输入/输出流。我知道使用 FileInputStream 从程序中读取不存在的文件会导致 FileNotFoundException。正确的?因此,我可以捕获此异常并可以在异常时返回 null 或 0 值(取决于执行所有这些读取操作的方法的返回类型),以传达调用程序该文件不存在并且应该创建该文件。

但我不知道 IOException 一般何时发生,也不知道我应该向调用程序传达“this”因“that”而发生的确切原因。 我完全不知道这里的“这个”和“那个”是什么。

任何人都请详细说明在什么情况下会发生 IOException 以及在这种情况下我应该采取什么具体措施。 请帮忙。谢谢。

最佳答案

什么是IOException

IOException 是 JVM 在尝试运行程序时遇到的任何意外问题。它可能遇到的问题有:

  • 试图读取一个不存在的文件
  • 正在尝试写入文件 名称无效(标题中的斜杠或问号 应该这样做)
  • 尝试读取文件中的下一个标记 没有更多的 token 。

当抛出 IOException 时,这意味着任何抛出异常的东西(可能是从文件中读取数据的 try{}-catch block )都可以抛出一个IOException,例如,如果文件未找到、损坏等,或者当文件无法读取时,或者 IO 可能出现的任何其他问题列表 包及其扩展。

遇到IOException怎么办?

当您遇到IOException 时,您可以记录它或打印一条错误消息。如果您正在读取一个不存在的文件,您可以创建一个文件以避免将来出现异常。很大程度上取决于你在做什么。如果您正在调试,打印堆栈跟踪总是有帮助的。

引用javadoc

关于java - 当 IOException 通常发生时,我应该采取什么措施来正确处理它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19616263/

相关文章:

exception - 从中间件中的 Controller 捕获异常

python - 我应该对 Python 中的错误/非法参数组合提出哪个异常?

C++ 异常和信号处理程序

exception - 如何在线程 “main” java.lang.NullPointerException中修复异常

java - "java.lang.ClassFormatError: Invalid pc in LineNumberTable"的可能原因

java - activejdbc 更新子句不起作用

java - 如何使用 Jsoup 从网页中检索特定表格 [ Android ]

java - 我希望 TextView 出现在 Button 上方而不是下方。我怎样才能做到这一点?

java - Maven 错误 :Perhaps you are running on a JRE rather than a JDK?

Java:在arraylist中存储扩展对象并调用parent toString方法