是否可以使用try catch捕获java错误?

时间:2015-08-24 07:44:26

标签: java java-ee

假设下面的内容将通过堆栈溢出

while(true){
        java.util.Date d = new java.util.Date();
    }

是否有可能发现错误?像这样

try {
while(true){
    java.util.Date d = new java.util.Date();
    }
}catch (Throwable t){

}

1 个答案:

答案 0 :(得分:1)

是的,您可以从代码中捕获它。但是,来自here

  

错误是Throwable的子类,表示合理的应用程序不应该尝试捕获的严重问题。大多数此类错误都是异常情况。 ThreadDeath错误,虽然"正常" condition,也是Error的子类,因为大多数应用程序都不应该尝试捕获它。

     

不需要在throws子句中声明在执行方法期间可能抛出但未捕获的Error的任何子类,因为这些错误是不应该发生的异常情况。也就是说,出于编译时异常检查的目的,Error及其子类被视为未经检查的异常。