package com.wanyan.exception;
/*
* 一.异常结构
*
* java.lang.throwable
* |---- java.lang.Error:一般不便携针对性的代码进行处理
* |---- java.lang.Exeption: 可以进行异常处理
* |---- 编译时异常(checked)
* |----IOEception
* |----FileNotFoundException
* |----ClassNotFoundException
* |----- 运行异常(unchecked)
* |----Nu11PointerException //空指针异常
|----ArrayIndexoutofBoundsException //数组脚标
|----classCastException //类型转换异常
|----NumberFormatException //数值转换异常
|----InputMismatchException //输入不匹配异常
|----ArithmeticException //算术异常
*
* 一. 异常的处理:抓抛模型
*
* 过程一,"抛"。程序在正常执行的过程中,一旦出现异常,就会在异常代码处生成一个对应异常类的对象。
并将此对象抛出。
—旦抛出对象以后,其后的代码就不再执行。
过程二。"抓"。可以理解为异常的处理方式: try-catch-finally 或者 throws
二.try-catch-finally的使用
try{
//可能出现异常的代码
}catch(异常类型1 变量1){ //变量名一般都要习惯用e表示
//处理异常的方式1
}catch(异常类型2 变量2){
//处理异常的方式2
}catch(异常类型3 变量3){
//处理异常的方式3
}
**********************************
finally{
//一定会执行的代码
}
说明;
1. finally是可选的。
2.使用try将可能出现异常代码包装起来,在执行过程中,一旦出现异常,就会生成一个对应异常类的对象,
根据此对的类型,去catch中进行匹配
3,一旦try中的异常对象匹配到某一个catch时,就进入catch中进行异常的处理。一旦处理完成,
就跳出当前的try-catch结构(在没有写finally的情况)。继续执行其后的代码
4. catch中的异常类型如果没有子父类关系,则谁声明在上,谁声明在下无所谓。
catch中的异常类型如果满足子父类关系,则要求子类一定声明在父类的上面。
否则,报错
5.常用的异常对象处理的方式: String getMessage() printStackTrare()
6,在trv结构中声明的变骨,再出了trv结构以后,就不能再衲调用
*
*/
public class ExceptionTest {
public void test1() {
String str = "123";
str = "abc";
try {
int num = Integer.parseInt(str);
} catch (NumberFormatException e) { //光标放在NumberFormatException上 然后 ctrl + t 查看范围的大小
// TODO: handle exception
System.out.println("出现数值转换异常了,不要着急。。。");
}catch(NullPointerException e) {
System.out.println("出现空指针异常了,不要着急。。。");
}
}
}
java 异常处理知识点try-catch-finally(没有throws)
最新推荐文章于 2024-05-26 22:32:25 发布