什么是异常?
编译时异常: 代码报错
运行时异常:
-
-
运行时错误会抛异常 , 创建一个错误对象, 把错误对象丢出来
-
捕捉异常, 默认由JVM来把错误信息进行捕获, 打印出来, JVM会终止程序的运行
异常的分类
RuntimeException: 运行时异常, 一般不手动处理 , 出了问题再处理
其它Exception: 必须要经过手动处理
Error: 一般指的是系统级错误, 由大佬去处理
异常处理 try...catch...
尝试执行的代码
} catch (Exception e) {
处理异常的代码
} finally {
最后一定会执行的代码
}
demo:
public class Main { public static void main(String[] args) { try { int i = 1 / 0; } catch (Exception e) { System.out.println("系统出错了, 请联系管理员"); } finally { System.out.println("一定会执行的部分"); } } }
抛出异常 throws... 和 throw...
产生的错误尽可能的自己处理, 少向外边抛出异常
throw 表示主动抛出异常(类似于 python 中的 raise)
demo:
public class Main { public static void division (int a, int b) throws Exception { if (b==0) { // 主动抛出异常 throw new Exception("除数是 0"); // 匿名对象的写法 } else { System.out.println(a / b); } } public static void main(String[] args) throws Exception { division(2, 3); } }
ending ~