当前位置: 首页 > 面试题库 >

在尝试捕获中使用Throwable和Exception之间的区别

沃阳飙
2023-03-14
问题内容

有时候,我看到

try {

} catch(Throwable e) {

}

而有时

try {

} catch(Exception e) {

}

有什么区别?


问题答案:

通过捕获,Throwable它包含了子类化的东西Error。通常,您不应该这样做,除非可能是在您要记录的线程的最高“捕获所有”级别,或者绝对要处理可能出错的所有内容。这将是一个框架型应用程序(例如应用程序服务器或一个测试框架),它可以运行未知代码,不应受到影响比较典型的
事情 是去错代码,尽可能多地。



 类似资料:
  • 前言 大家好,我是chowley,在我之前的面试中,遇到过这样一个问题:Exception和Error之间有什么区别?今天我就来好好地总结一下! 主体 在Java编程中,Exception和Error都是Java中的可抛出对象,它们都是Throwable类的子类,但在使用和处理上有着不同的特点。 Exception Exception代表了在程序执行过程中可能出现的异常情况,通常是由程序错误或者外

  • 问题内容: 我一直在看代码,并且看到了尝试资源的机会。我以前使用过标准的try-catch语句,看起来它们在做同样的事情。所以我的问题是“ 尝试使用资源”与“尝试捕获 ”之间的区别是什么,哪个更好。 这是尝试使用资源: 问题答案: 尝试使用资源的重点是确保可靠地关闭资源。 当你不使用try-with-resources时,存在一个潜在的陷阱,称为异常屏蔽。当try块中的代码引发异常,而finall

  • 问题内容: 定义无参数异常: 举起时,它们之间是否有任何区别: 和 我找不到任何东西。它仅仅是一个重载的语法吗? 问题答案: 简短的回答是,无论和做同样的事情。第一种形式会自动实例化您的异常。 docs的相关部分说:“ raise 将第一个表达式评估为异常对象。它必须是BaseException的子类或实例。如果是类,则在需要时通过使用实例化该类来获取异常实例。没有争论。” 也就是说,即使语义相同

  • 问题内容: 以下两个代码段都执行相同的操作。他们捕获每个异常并执行块中的代码 片段1- 摘要2- 两种结构到底有什么区别? 问题答案: 在第二个中,您可以访问异常对象的属性: 但是它不会捕获或系统退出异常,并且: 除了一个裸露的: 有关更多信息,请参见文档的“内置异常”部分和本教程的“错误与异常”部分。

  • 我有shell文件(deploy.sh)执行以下命令: 当其中一个命令发生错误时,我想停止bash的执行。 shell中的哪个命令可以做到这一点?

  • 我有一个存储过程似乎没有正确记录错误。 代码有错误,但 catch 块似乎未生效。 try块相当长,但错误部分很简单,并且在最后出现,所以我已经对此进行了预测。 proc失败的错误是我们的老朋友“列名或提供的值的数量与表定义不匹配”。我已经修复了这个错误 - 这是一个愚蠢的懒惰错误 - 但我感到困惑为什么我的错误日志记录过程似乎没有工作 - 没有行入到我的 ExtractsErrorLog 表中。