Java的异常Exception
概念:执行过程中出现的不正常称为异常 (语法错误 和 逻辑错误 不是异常)

异常处理两种方法
用法try{} catch(Exception e){} finally{}
解释:
-
try检查有异常的代码,
无异常执行{}内代码 -
将异常封装成 e对象,传递给catch,程序员在{}里写代码 ,
try有异常停止代码,执行catch{}里的代码,try无异常不执行catch -
finally{},无论上面有无异常都执行finally,
是释放资源、断开SQL等操作用的
注意:
1)可以有多个catch(){}, 括号里最后必须是 Exception e, 前面可以是其他如(NullPointerException e)...
2)可以try{} finally{}两个搭配,但是该报错还是报错
3)try{},catch(Exception e){return 333;}finally{i++}, 有return在前面必须先执行 finally{}后,再retrun
4)可以用try-catch做重复提示逻辑,看下面代码
package com.company.test.test;
import java.util.Scanner;
public class Try_ {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num;
while (true) {
System.out.println("请输入一个整数:"); //
try {
num = Integer.parseInt(scanner.next()); //这里是可能抛出异常
break;
} catch (NumberFormatException e) {
System.out.println("你输入的不是一个整数:");
}
}
System.out.println("你输入的值是=" + num);
}
}
throws (第二种处理异常方式)
注意
1)★ 处理 运行异常runtimeException时,默认是有throws异常处理的,不需要手动添加
2)★ 处理 编译异常时,必须手动添加 throws FileNotFoundException 在异常的局部位置上(方法后面)
3)★ 遇到编译异常,必须try throws 二选一
4)重写override, 子类的添加的throws FOU...必须与父类相同或者是 它的子类异常
throws 意思就是让调用它方法的 上一级解决异常(大意:推卸责任),如果一直不用try处理,直到jvm上直接给报错


自定义报错
处理throwable上没有涉及的异常,自己定义异常class
步骤:

throw 和 throws区别
- throws 是处理异常的第二种方法
- throw 是主动制作异常的手段,方法如下


浙公网安备 33010602011771号