异常:
是指程序运行过程中所发生的不正常的事件,他会终端正在运行的程序
用异常机制去处理。
机制:
try 执行可能出现异常的代码。
catch 捕获异常
throws :生命方法可能抛出的各种异常,异常向上抛如果异常逐长
//只要有throws,强制要求,
throw:手动抛出异常
finally:无论是否发生异常,代码总能 执行
try{
//代码段(此处不会出现异常)
如果代码段二产生异常就直接跳到catch
}catch{
}finally{
直接跳出代码段
}
不走finally 时候:
什么情况下不走finally()sys.exit(1);退出java虚拟机;就不走了
三种情况:
1。第一种情况,正常
public void method(){
try {
// 代码段 1
// 产生异常的代码段 2
// 代码段 3
} catch (异常类型 ex) {
// 对异常进行处理的代码段4
}
//
代码段5
}
/*
* try(){
可能产生的异常!1
* }catch{
捕获异常
* }finally{
* 程序结束!!都会执行
}
* */
e.getMessage();获得异常信息。
e.printStackTrace();//获得异常的堆栈信息及错误的位置
请输入一个整数:
sdf
报错:Exception in thread "main" java.util.InputMismatchException
翻译:输入不匹配的异常
请输入一个整数:
1
请输入第二个整数
0
Exception in thread "main" java.lang.ArithmeticException: / by zero
at cn.happy.test01.TestException.main(TestException.java:14)
报错:除数不能为0的异常
为了避免异常:
弊端:
1.代码臃肿
2.程序员要花很大精力‘堵漏洞’
3.程序员很难堵住所有‘漏洞’
异常分类
Object
Throwable
exception
SqlException RuntimeException
NullPointerException
ClassNotFoundException NumberFormatException
异常日志:
throws :声明异常,多个异常使用‘,’隔开
1.throws与throw的区别?
抛出多个
只能抛出一个。