Java 当抛出FileNotFoundException时,是否可能获取操作系统返回给JVM的错误代码?

Java 当抛出FileNotFoundException时,是否可能获取操作系统返回给JVM的错误代码?,java,error-handling,filenotfoundexception,Java,Error Handling,Filenotfoundexception,当抛出FileNotFoundException时,是否可能获取操作系统返回给JVM的错误代码 我遇到的问题是,当操作系统锁定文件时,尝试打开文件上的输入文件流会导致抛出FileNotFoundException,即使该文件确实存在 如果我尝试使用C语言编写的代码打开文件,操作系统将返回winerror.h中定义的错误共享冲突。但是,在JAVA中,会抛出FileNotFoundException,并显示错误消息“该进程无法访问该文件,因为它正被另一个进程使用。” 我想做的是向try/catch添

当抛出FileNotFoundException时,是否可能获取操作系统返回给JVM的错误代码

我遇到的问题是,当操作系统锁定文件时,尝试打开文件上的输入文件流会导致抛出FileNotFoundException,即使该文件确实存在

如果我尝试使用C语言编写的代码打开文件,操作系统将返回winerror.h中定义的错误共享冲突。但是,在JAVA中,会抛出FileNotFoundException,并显示错误消息“该进程无法访问该文件,因为它正被另一个进程使用。”

我想做的是向try/catch添加一些逻辑,以便在遇到某些特定错误时重试打开文件,但我不知道如何钻取FileNotFoundException并找到错误的根本原因。我唯一的另一个选择是检查错误消息描述,但这似乎不是正确的方法。

不幸的是,没有

FileNotFoundException
没有细化它的子类,类本身也没有特定的访问方法。这是一个常见的问题,可能是因为标准API旨在独立于平台

解决方法通常是解析
getMessage()
返回的字符串,或者放到本机级别,以特定于平台的方式解决它,例如在实例C中