有人可以解释我在java中使用throws Exception的用途是什么?它只是用于表示该方法将抛出指定的异常?调用方法需要捕获指定的异常吗?
因此,我们可以使用try-catch块来捕获异常,而不是抛出?
它与抛出有何不同?谢谢
ami*_*mit 11
Java使用显式异常处理 - 除了RuntimeExceptions 之外,[由方法本身抛出的每个异常,或者它调用的方法声明throws它] - 必须在方法签名中处理或声明.
它使安全性,因为当你调用你确切地知道可能发生的错误的方法,然后你就可以在本地处理与try/catch块或声明的一部分你的方法签名.
虽然@amit已经给出了非常好的答案,但我只想添加一些内容.
因此,我们可以使用try-catch块来捕获异常,而不是抛出?
我认为你的问题的这一部分没有得到回答.实际上,您在询问是否应该为异常定义"透明"的方法或捕获方法中抛出的异常.
答案是它取决于您的应用程序.通常,有两种情况需要在方法中捕获异常.
您不希望将应用程序的特定层上抛出的异常暴露给更高级别的层.在这种情况下,您可能会使用try block包装代码并将抛出的异常包装为其他级别异常:
try {// some code} catch(IOException e){throw new ApplicationLevelException(e); }
在大多数其他情况下,您可能希望对异常透明,并在知道如何处理它们的单个点中捕获所有异常.例如,显示面向客户的错误消息.
| 归档时间: |
|
| 查看次数: |
6456 次 |
| 最近记录: |