Java异常中,抛出异常和捕获异常的区别有哪些呀?实际工作中是抛出好还是捕获好呢?

2021-02-26 10:38发布

12条回答
AW
2楼 · 2021-02-26 16:51

抛出异常:如果程序中出现了异常,没有办法将具体的异常打印出来,不做任何处理


捕获异常:如果程序出现了异常,就能够详细的打印是什么原因导致了异常并且能够做出相应的处理,能够显示详细的Log


如果异常出现的话,会立刻终止程序,所以我们得处理异常:

1. 该方法不处理,而是声明抛出,由该方法的调用者来处理(throws)。

2. 在方法中使用try-catch的语句块来处理异常。


在实际的开发中还是要 尽量的对异常进行捕获处理,保证程序的健壮性。

十七
3楼 · 2021-02-26 19:17

捕获异常是在本类中处理,抛出异常是一层层往上交给其父类处理,如果都不处理,最后会交给JVM虚拟机处理,最后把异常日志打印到控制台。

实际工作中一般建议如下:
 1、在通用的方法里,不要try去捕获错误,而是直接抛出异常给调用层处理
 2、用户访问界面处理掉所有可能的异常,并记录详细错误日志,然后返回友好的错误界面给用户,不要抛异常给用户,不友好

抛出异常:如果程序中出现了异常,没有办法将具体的异常打印出来,不做任何处理


捕获异常:如果程序出现了异常,就能够详细的打印是什么原因导致了异常并且能够做出相应的处理,能够显示详细的Log


如果异常出现的话,会立刻终止程序,所以我们得处理异常:

1. 该方法不处理,而是声明抛出,由该方法的调用者来处理(throws)。

2. 在方法中使用try-catch的语句块来处理异常。


在实际的开发中还是要 尽量的对异常进行捕获处理,保证程序的健壮性。


小史
5楼 · 2021-03-01 09:33

抛出异常:程序中出现异常,不做任何处理,该异常会被该程序的调用者接收到,程序会卡死在异常的地方。

捕获异常:程序中出现异常,能够详细的打印到什么原因导致了异常并且对异常进行处理,保证了程序会继续顺利运行。


实际工作中,最好是捕获好并且给出相应的提示,保证程序的健壮性。

想减肥的小徐
6楼 · 2021-03-01 10:32

抛出异常是你的程序可能出现错误,但你没有进行任何逻辑判断处理,直接交给了JVM虚拟机.捕获异常是对于你程序可能出现的错误进行捕获,从而更加容易改进代码,代码的健壮性更好,逻辑也会更清晰,实际开发中还是自己手动捕获异常比较好,当你在自己测试小Demo的时候可以抛出异常.

小蹲蹲
7楼 · 2021-03-02 08:38

我感觉你想问的是自定义异常和运行时异常的差别.自定义异常一般是可控的,一般是因为逻辑错误抛出自定义捕获,给用户一些针对提示.如果是运行时发生的异常一般是不无法预知的,原因多种.至于工作时用哪些.一般是这样操作.可以预判的逻辑异常手动抛出,编写异常提示用于返回给客户或者程序员控制台查看.运行时可能出现的异常用try,catch捕获后再编译错误,提示给客户

希希
8楼 · 2021-03-02 08:42

抛出异常:如果程序中出现了异常,没有办法将具体的异常打印出来,不做任何处理


捕获异常:如果程序出现了异常,就能够详细的打印是什么原因导致了异常并且能够做出相应的处理,能够显示详细的Log


如果异常出现的话,会立刻终止程序,所以我们得处理异常:

1. 该方法不处理,而是声明抛出,由该方法的调用者来处理(throws)。

2. 在方法中使用try-catch的语句块来处理异常。


在实际的开发中还是要 尽量的对异常进行捕获处理,保证程序的健壮性。


lucky璐呀
9楼 · 2021-03-04 10:08

捕获异常是在本类中处理,抛出异常是一层层往上交给其父类处理,如果都不处理,最后会交给JVM虚拟机处理,最后把异常日志打印到控制台。

实际工作中一般建议如下:
 1、在通用的方法里,不要try去捕获错误,而是直接抛出异常给调用层处理
 2、用户访问界面处理掉所有可能的异常,并记录详细错误日志,然后返回友好的错误界面给用户,不要抛异常给用户,不友好。