异常的处理

简介: 异常处理的方式

异常处理的方式


1.程序块中捕获并处理异常

这种处理方式要采用try-catch-finally结构


2.将方法中产生的或可能产生的异常抛出,留给调用该方法的程序块处理

使用throws关键字在方法头声明


try-catch-finally 结构

try-catch-finally结构捕获程序中产生的异常,然后针对不同的异常采用不同的处理程序进行处理

image.png

image.png

image.png

try-catch-finally的匹配原则


(1)一个catch(ExceptionType1 e1)块能够捕获所有ExceptionType1类型的异常,它的子类型也都可以被这个catch捕获


(2)catch块的安排要遵循先具体后抽象的原则:父异常类应该放在子异常类的后面,否则编译器会报错


(3)如果两个异常类之间没有继承关系,则它们之间的先后关系可以是任意的


publicclassTestMultiCatch{
publicstaticdoublecalculateArea(doublea, doubleb, doublec){
doublep= (a+b+c)/2;
returnMath.sqrt(p*(p-a)*(p-b)*(p-c));
 }
publicstaticvoidmain(String[] args){
try{
doublea=Double.parseDouble(args[0]);
doubleb=Double.parseDouble(args[1]);
doublec=Double.parseDouble(args[2]);
doubles=calculateArea(a, b, c);
System.out.println("三角形面积是"+s);
 }catch(ArrayIndexOutOfBoundsExceptione1){
System.out.println("数组访问越界,请至少输入3个参数"); } catch(Exceptione){
System.out.println("捕获到了Exception异常");

使用throws声明异常

image.png

图片来源:https://www.icourse163.org/learn/BFU-1205988807?tid=1461521444

目录
相关文章
|
10月前
|
SQL 安全 程序员
C++:异常
C++:异常
82 7
|
7月前
|
安全 Java 程序员
|
10月前
|
安全 Java 编译器
异常的讲解
异常的讲解
59 1
|
10月前
|
SQL 安全 Java
C++之异常
C++之异常
42 0
|
10月前
|
C++
C++中的异常
C++中的异常
|
10月前
|
程序员 编译器 Shell
C++『异常』
C++『异常』
82 0
|
安全 Java 程序员
C++ 异常
C++ 异常
58 0
|
存储 监控 Java
认识异常【超详细】
认识异常【超详细】
56 0
|
安全 Java 程序员
C++异常
C++异常
|
安全 程序员 C语言