【发布时间】:2012-04-03 10:33:51
【问题描述】:
抛出FileNotFoundException异常时,是否可以得到操作系统返回给JVM的错误码?
我遇到的问题是,当文件被操作系统锁定时尝试打开文件上的输入文件流会导致抛出 FileNotFoundException,即使该文件确实存在。
如果我尝试使用一些用 C 编写的代码打开文件,操作系统会返回 winerror.h 中定义的 ERROR_SHARING_VIOLATION。但是在 JAVA 中会抛出 FileNotFoundException 并显示错误消息“该进程无法访问该文件,因为它正在被另一个进程使用。”
我想做的是在 try/catch 中添加一些逻辑,以便在遇到某些特定错误时重试打开文件,但我不知道如何深入 FileNotFoundException 并找到根本原因错误。我唯一的其他选择是检查错误消息描述,但这似乎不是正确的方法。
【问题讨论】:
标签: java error-handling filenotfoundexception