【狂神说Java】学习笔记18:异常机制 Exception
【狂神说Java】学习笔记18:异常机制 Exception
[01] 什么是异常
[02] 异常体系结构
[03] Java异常处理机制
[04] 处理异常
[05] 自定义异常
[06] 总结
--------------------------------------------------------------------
[01] 什么是异常
异常一般分为三种:
检查性异常,运行时异常,错误ERROR(较致命)
测试员是专门进行测试的。
[02] 异常体系结构
异常体系结构
Error和Exception的区别
Error是由Java抛出的,大多数于代码编译者无关,但是避免此类Error,因为一旦线上运行的程序崩溃,会造成无法弥补的损失。
Exception一般是程序员设计时导致的出错,
[03] Java异常处理机制
分为抛出异常和捕获异常。
[04] 处理异常
实例1:a/b,当b为0的时候出现异常。捕获异常的写法。
package oop.Exception;
public class demo01 {
public static void main(String[] args) {
int a = 1;
int b = 0;
//异常处理时必须要try和catch。可以不要finally。
//catch捕获多个异常的时候,括号里的异常类型按从小到大的等级去写。否则报错。
try{ //try监控区域
System.out.println(a/b);
}catch(ArithmeticException e){ // catch捕获异常,里面参数时捕获的异常类型。
System.out.println("程序出现异常,被除的变量不能为o");
}catch(RuntimeException e){
System.out.println("RuntimeException");
}catch(Exception e){
System.out.println("Exception");
}finally { //结束,可以不加。
System.out.println("finally");
}
}
}
----------------------------------
程序出现异常,被除的变量不能为o
finally
tips 自动生成代码块
//Ctrl + Alt + T 自动生成代码块。
try {
System.out.println(a/b);
} catch (Exception e) {
e.printStackTrace();
} finally {
}
[05] 自定义异常
Java里有很多异常的处理,通过自定义异常写出自己独特的异常case。
自定义异常实例
自定义一个异常类MyException,使其继承Exception。(Test1.java来测试这个异常类。)
然后写规则让超过10的时候抛出异常,输出”抛出的异常MyException=>MyException{@参数}“的结果。
输出的数字小于10则输出这个数,并输出OK。
[06] 总结
tips
程序异常的时候会自动报错,显示红色,摁住 Alt + Enter ,会自动帮忙处理。
IO资源容易占用内存资源,所以尽量加上finally语块。