异常的定义
异常是指在程序运行过程中所发生的的不正常的事件,它会中断正在运行的程序
处理异常的两种方式
try{
//代码段
}catch(Exception e){
//对异常进行处理的代码段,如果有return 就行执行finally的再return
}finally{
//最终执行,唯一不执行的情况是system.exit(0);
}
public static void divide() throws Exception {
//可能出现异常的代码
}
异常对象常用方法
void printStackTrace();//输出异常的堆栈信息
String getMessage()//返回异常信息的描述字符串
异常类型
|
异常类型 |
说明 |
|
Exception |
异常层次结构的父类 |
|
ArithmeticException |
算术错误情形,如以零作除数 |
|
ArrayIndexOutOfBoundsException |
数组下标越界 |
|
NullPointerException |
尝试访问 null 对象成员 |
|
ClassNotFoundException |
不能加载所需的类 |
|
IllegalArgumentException |
方法接收到非法参数 |
|
ClassCastException |
对象强制类型转换出错 |
|
NumberFormatException |
数字格式转换异常,如把"abc"转换成数字 |
程序员主动抛异常
public void setSex(String sex) throws Exception {
if ("男".equals(sex) || "女".equals(sex))
this.sex = sex;
else {
throw new Exception("性别必须是男或者女!");
}
}
异常分类
//Throwable 是Exception和Error类的父类
//Exception :由Java应用程序 抛出和处理的非严重错误(运行时异常,不要求程序必须做出处理; Checked异常,程序必须处理该类异常)
//Error:仅靠程序本身无法恢复的严重错误
异常链
A方法调用B方法时,B方法却抛出了异常。那A方法继续抛出原有的异常还是抛出一个新异常呢?
抛出原有的异常 :A方法与B方法进行了关联,不便于代码的修改和扩展
抛出新的异常:异常链创建了新的异常但却保留了原有异常的信息
本文详细介绍了Java中的异常处理,包括异常的定义、处理方式、常见异常类型、异常对象的方法、异常分类以及异常链的概念。强调了try-catch-finally语句块的使用,并提倡在Service层避免使用try-catch,除非进行了相应的回滚操作。此外,还讨论了如何在抛出新异常时保留原有异常信息的重要性。
937

被折叠的 条评论
为什么被折叠?



