我正在使用文件输入/输出流。我知道使用 FileInputStream
从程序中读取不存在的文件会导致 FileNotFoundException
。正确的?因此,我可以捕获此异常并可以在异常时返回 null 或 0 值(取决于执行所有这些读取操作的方法的返回类型),以传达调用程序该文件不存在并且应该创建该文件。
但我不知道 IOException
一般何时发生,也不知道我应该向调用程序传达“this”因“that”而发生的确切原因。
我完全不知道这里的“这个”和“那个”是什么。
任何人都请详细说明在什么情况下会发生 IOException
以及在这种情况下我应该采取什么具体措施。
请帮忙。谢谢。
什么是IOException
IOException
是 JVM 在尝试运行程序时遇到的任何意外问题。它可能遇到的问题有:
- 试图读取一个不存在的文件
- 正在尝试写入文件
名称无效(标题中的斜杠或问号
应该这样做)
- 尝试读取文件中的下一个标记
没有更多的 token 。
当抛出 IOException
时,这意味着任何抛出异常的东西(可能是从文件中读取数据的 try{}-catch
block )都可以抛出一个IOException
,例如,如果文件未找到、损坏等,或者当文件无法读取时,或者 IO 可能出现的任何其他问题列表
包及其扩展。
遇到IOException
怎么办?
当您遇到IOException
时,您可以记录它或打印一条错误消息。如果您正在读取一个不存在的文件,您可以创建一个文件以避免将来出现异常。很大程度上取决于你在做什么。如果您正在调试,打印堆栈跟踪总是有帮助的。
引用javadoc