在编译期间可以抛出什么样的java.lang.Error?
我知道一个错误:ClassFormatError
。其他错误是什么?
我正在编写一个充当服务器的应用程序。服务器可以编译java程序。在编译期间,我不想将其与任何错误相关联,以确保编译。我采取了必要的步骤,可以防止编译错误
我不确定java.lang.Error,我可以捕获Throwable对象并阻止它,但我需要知道在编译期间可以抛出的错误对象是什么。
答案 0 :(得分:4)
编译器出现内部错误时,在编译时抛出错误(在javac
中)。您可以提供有效的Java代码,编译器可以死掉。我看到的常见错误是OutOfMemoryError,当我编译一个大的代码库但我的IDE没有给编译器足够的内存(我的IDE中的默认值是128 MB)
当编译试图加载已损坏的已编译类文件时,可能会发生ClassFormatError。
你不需要知道抛出的所有错误,你可以抓住Throwable。它们应该只是非常不寻常的事件的结果,这些事件可能是不可恢复的。您所能做的就是记录错误并防止线程死亡。