异常
1.1 Throwable类
Throwable是java中处理异常的一个大类
Throwable下有子类Exception【常用】和Error【不用】
Throwable(String message)构造一个具有指定的详细消息的新的throwable。
Throwable下还有方法getMessage() 此方法可以返回throwable的详细消息字符串
1.2 异常的种类
运行时异常
编译时异常
1.3 处理异常的方法
-
异常的捕捉
-
异常的抛出
1.4 异常的捕捉
使用try-catch捕捉异常
如果有可能异常的代码无异常 则代码正常执行
如果有异常 捕捉异常 异常代码不在执行 继续执行try-catch下方代码
语法格式
一般异常对象都填写Exception e
try {
有可能异常的代码
} catch (异常对象) {
针对异常的处理方案
}
package com.qfedu.c_Exception;
public class Demo2 {
public static void main(String[] args) {
test(3, 0);
}
public static void test (int a, int b) {
int ret = 0;
try {
//有可能个出现异常的代码
ret = a / b;
} catch (ArithmeticException e) {
System.out.println("123");
//打印错误信息
System.out.println(e.getMessage());
}
//即使代码有异常,通过捕捉以后。是不会影响程序的接着执行的代码的
System.out.println(ret);
System.out.println( 4 + 4);
}
}
解决可以代码简单异常
可以用try-catch-finally【几乎不用】
try {
有可能异常的代码
} catch (异常对象) {
针对异常的处理方案
} finally {
条件语句
用来判断修改异常点
}
1.5 异常的抛出
在代码出现异常的时候进行异常抛出
如果异常的抛出的话 一旦发声异常 从出现异常的地方就会终止代码
两个关键字
throw
在方法中抛出一个异常自己造一个错
throws
在方法声明处使用 告知当前调用者 此处有异常要小型
在throw抛出异常的时和调用含有异常的方法的方法书写时必须使用throws提醒当前调用者 要小心
package com.qfedu.c_Exception;
import java.io.FileNotFoundException;
public class Demo8 {
public static void main(String[] args) throws Exception{
test(0);
Thread.sleep(1000);
}
public static void test (int a) throws FileNotFoundException{
if (a == 0) {
//编译时异常
throw new FileNotFoundException();
}
System.out.println("jvm xixi");
}
}