Javaoop——异常

第六章 异常
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();
9.异常对象常用的方法
方法名 说明
void printStack Trace() 输出异常的堆栈信息
String getMessage() 返回异常信息描述字符串,是printStack Trace()输出信息的部分
10.常用的异常类型
Exception 异常结构层次结构的父类
ArithmeticException 算数错误清醒,如 以零做除数
ArrayIndexOutOfBoundsException 数组下标越界
NullPointerException 尝试访问null对象成员
ClassNotFoundException 不能加载所需的类
InputMismatchException 欲得到的数据类型与实际输入的类型不匹配
IllegalArgumentException 方法接收到的非法参数
ClassCastException 对象强制类型转换错误
NumberFormatException 数字格式装换异常
11.try——catch——finally
(在try——catch块后加入finally块是否发生异常都执行的唯一情况)
Javaoop——异常_第1张图片











12.存在return的try——catch——finally块
Javaoop——异常_第2张图片














13.多重catch块
引发的多种类型的异常;
排列catch语句的顺序:先子类后父类;
发生异常时按顺序逐个匹配;
只执行第一个与异常类型匹配的catch语句
public  void  method(){Javaoop——异常_第3张图片
try{
//代码段
//产生异常(异常类型2)
}catch(异常类型1  ex){
//对异常进行处理的代码段
}catch(异常类型2  ex){
//对异常类型进行处理的代码段
}catch(异常类型3  ex){
//对异常进行处理的代码段
}
//代码段
}
14.throw与throws的区别是什么?

抛出异常——throw:Java语言中,可以通过使用throw关键字来自行抛出异常。

同时它的区别还包括以下三方面:

(1)    作用不同:throw用于程序员自行产生并抛出异常,throws用于声明在该方法内抛出的异常。

(2)    使用的位置不同:throw位于方法体内部,可以作为单独语句使用。throws必须跟在方法参数列表后面,不能单独使用。

内容不同:throw抛出一个异常对象,而且只能是一个。throws后面跟异常类,而且可以跟多个异常类

你可能感兴趣的:(Javaoop——异常)