抛出异常和捕获异常的区别

2022-09-16 07:56:20


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

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

如果异常出现的话,会立刻终止程序,所以我们得处理异常:
1. 该方法不处理,而是声明抛出,由该方法的调用者来处理(throws)。
2. 在方法中使用try-catch的语句块来处理异常。

try catch书写格式:

try catch 代码案例:

异常(Exception)的分类:

根据在编译时期还是运行时期去检查异常
编译时期异常:checked异常。在编译时期,就会检查,如果没有处理异常,则编译失败。(如日期格式化异常)
运行时期异常:runtime异常。在运行时期,检查异常.在编译时期,运行异常不会编译器检测(不报错)。(如数学异常)

throws语句

throws总是出现在一个函数头中,用来声明该成员函数可能抛出的各种异常。

对大多数Exception子类来说,Java 编译器会强迫你声明在一个成员函数中抛出的异常的类型。如果异常的类型是Error或 RuntimeException, 或它们的子类,这个规则不起作用, 因为这在程序的正常部分中是不期待出现的。 如果你想明确地抛出一个RuntimeException,你必须用throws语句来声明它的类型。

   throws语法格式:

                       修饰符   返回值 类型 方法名(参数) throws 异常类名1,异常类名2…{ }


 代码案例:

throw语句

throw总是出现在函数体中,用来抛出一个指定的异常。程序会在throw语句后立即终止,它后面的语句执行不到,然后在包含它的所有try块中(可能在上层调用函数中)从里向外寻找含有与其匹配的catch子句的try块。

               throw语法格式:

     案例

throw 是语句抛出一个异常;throws 是方法抛出一个异常;

异常类可以声明多个,用逗号分割就可以了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 作者:高斯林之路
  • 原文链接:https://blog.csdn.net/qq_29090169/article/details/89605191
    更新时间:2022-09-16 07:56:20