首页 > 其他分享 >异常处理

异常处理

时间:2023-03-06 12:55:34浏览次数:30  
标签:处理 抛出 捕获 try finally catch 异常

异常

异常定义

异常指的是程序运行过程中出现不期而遇的各种状况,如:文件找不到,网络断开等

所有异常的超类:java.lang.Throwable,分为Error和Exception两大类,前者是致命的,一般会终止线程,后者应该尽可能处理

  • 检查性异常:编程时检查的,用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在的文件时,这种异常编译器大多会提示我们

  • 运行时异常:运行时检查的,可能被程序员避免的异常,这些异常可以再编译时被忽略,例如:1/0

![img](file:///C:\Users\GeekLee\AppData\Roaming\Tencent\Users\1471054790\QQ\WinTemp\RichOle~COSNY46S$5~}N9X0CT$XCX.png)

  • 错误ERROR:错误是脱离程序员控制的问题,大多数是虚拟机生成并抛出,通常在代码中被忽略,例如:栈溢出,Java虚拟机运行错误

  • RuntimeException(运行时异常):不检查异常,程序可以选择捕获处理或者不处理,只有在运行时才会报错

  • 非运行时异常(包括IO异常):不处理会报错,编程软件会提示

异常的捕获和抛出

捕获

关键字 : try catch finally

形式:

try {
    //
}catch (Exception e){
    e.printStackTrace(); //打印错误信息
}finally {
    //
}

try是去写监控区域,看try里面是否出现异常,若果出现异常则会指向catch;

catch(想要捕获异常的类型),如果try出现了和catch参数相同类型的异常,则会执行catch里面的代码,否则略过catch,假设有多个异常,需要从小到大去捕获(因为如果是从大到小去写捕获异常,当发生小异常时,前面已经捕获了,后面的小异常捕获将无意义)

finally是无论有异常与否,都会执行的代码,而且如果出现不能捕获的异常,则会先执行finally才会报错

IDEA快捷键:选中需要监视的代码区域,按住Ctrl + Alt + T

主动抛出异常

方法中抛出

关键字: throw

throw new 异常类(); 比如: throw new ArithmeticException();

方法上抛出

关键字: throws

假设这个方法无法处理,则会抛出给上层代码处理

public void test() throws ArithmeticException{
    
}

标签:处理,抛出,捕获,try,finally,catch,异常
From: https://www.cnblogs.com/geeklee/p/17183386.html

相关文章