1.捕获异常
try——执行可能产生异常的代码
catch——捕获异常
finally——无论是否发生异常,代码总能执行
2.声明异常
throws——声明方法可能要要抛出的各种异常
3.抛出异常——手动抛出异常
4.try——catch块捕获异常
public void method(){
try{
//代码段(此处不会产生异常)
}catch(异常类型 ex){
//对异常进行处理的代码段
}
//代码段
}
5.try——catch块后的代码段
public void method(){
try{
//代码段1
//产生异常的代码段2
//代码段3
}catch(异常类型 ex){
//对异常进行处理的代码段4
}
//代码段5
}
6.异常类型不匹配
public void method(){
try{
//代码段1
//产生异常的代码段2
//代码段3
}catch(异常类型 ex){
//对异常进行处理的代码段4
}
//代码段5
}
7.在catch中处理异常,加入用户自定义的处理信息
System.err.println(“出现错误:被除数必须是整数,”+“除数不能为0”).
8.调用方法输出异常信息
e.printStock Trace();
抛出异常——throw:Java语言中,可以通过使用throw关键字来自行抛出异常。
同时它的区别还包括以下三方面:
(1) 作用不同:throw用于程序员自行产生并抛出异常,throws用于声明在该方法内抛出的异常。
(2) 使用的位置不同:throw位于方法体内部,可以作为单独语句使用。throws必须跟在方法参数列表后面,不能单独使用。
内容不同:throw抛出一个异常对象,而且只能是一个。throws后面跟异常类,而且可以跟多个异常类-
熟悉使用try-catch-finally处理异常
异常:是指在程序运行中发生的不正常事件,会终止正在运行的程序, throw: 扔 抛 : throw new Exception();
throws:声明 方法之后。
IE ANC
IllegalArgumentException 无效的参数异常 Exception 顶级异常
AthimarticException 算术异常 ArrayIndexOutOfBoundsException 数组下标越界
NullPointerException 空指针异常 NumberFormatException 数字格式转换异常 “abc”
ClassNotFoundException 类没有找到 ClassCastException 类型转换异常
finally代码块唯一不会被执行到的情况? S1的时候:无论代码是否有异常,finally总会执行,释放资源代码放入finally。
-
会使用throw、throws抛出异常
-
掌握异常及其分类
-
使用log4j记录日志
声明异常 ,抛出异常