异常的简介
异常是什么
🍗在我们编写代码时,可能会发生很多不同的报错,那么这些报错就是异常
public static void main(String[] args) {
System.out.println(10/0);
}
❓这个代码要求我们输出10 除以 0,那我们知道0除了自己本身是不能被任何数所除的,那么这串代码运行会发生什么呢。
❓这里可以发现我们编译并运行代码后发生了报错异常,那么这个异常是什么呢,看到 jvm 反馈给我们的异常结果,如果我们不去了解他,那么以后改bug的时候岂不是一头雾水。
✍接下来就让我们来看看这个异常是什么
首先这个异常叫算术异常, 发生异常算术条件时引发。我们ctrl点击这个异常去查看,发现这个异常继承与另一个类
🖍通过上图得知我们发生异常后可以使用ctrl 去点击查看这个异常,通过翻译上文的注释去了解这个异常为什么会发生,也可以选中这个异常的名字去网上查询资料
异常的分类
📕所有异常和错误都继承于Throwable 这个父类,Throwable 又分为Error 和 Excepiton 这俩大类:
🖍Error:指的是Java虚拟机无法解决的严重问题,例如递归层次太深,导致栈溢出(StackOverflowError),发生java虚拟机会选择线程终止,Error 属于非受检查异常。
🖍Exception:分为受检查异常和非受检查异常,也叫编译时异常和运行时异常,编译时异常在编写代码的时候会有红色的波浪线选中,必须用throws子句声明抛出它或者用try-catch语句捕获它,否则编译不会通过。运行时异常不能使用声明或者捕获,运行后发生异常后需要我们及时去修改代码来解决异常。
基本异常的种类以及介绍
受检查异常/编译时异常
①👀 FileNotFound Exception (IOException) -文件找不到异常
当你要查找的文件路径中没有当前文件抛出此异常
②👀 MalfofmedURL Exception (IOException) - URL异常格式错误
public static void main(String[] args) {
URL url = new URL(null);
}