异常

1.概念
异常: 就是程序中不正常的现象(错误和异常)
2. 异常的体系结构 Throwable
Error:程序员不能处理的情况,需要修改底层源代码
Exception : 需要程序员处理的情况
RuntimeException :在运行阶段出现的问题
编译异常 :在编译阶段出现的问题
3.异常处理的方式
① try…catch…finally 捕获异常(自己处理)
捕获: java中对异常有针对性的语句进行捕获,可以对出现的异常进行指定的方式处理
格式:

try{
	// 可能产生异常的代码(没有异常的代码也可以定义在try中) 
	// try块中,一旦出现异常,则抛出异常的那句代码后面的代码都不执行
	// 疑似病人(可能有病,或者没有病) 
}catch(异常类名 变量名){
	// 数据类型,必须是Exception或者Exception的子类
	//异常的处理语句,抓取到 和 异常类名一样的的对象才执行 
}finally{ 
	//不论是否有异常,finally中内容都会执行(执行1遍) 
}System.out.println("1**"); //以下的代码就可以正常的执行啦

注意: 1. try 存放是可能会出现异常的代码,异常有0个或者n个
3. catch 用来进行某种异常的抓取,实现对抓到的异常对象进行处理 一个try可以匹配多个catch,catch是有顺序要求的
1> 若多个catch的异常类之间没有继承关系,则顺序随便
2> 若多个catch的异常类之间有继承关系,则 子类异常必须在父类异常的上面
4. finally: 不论是否有异常都会执行
②throws 抛出异常(交给别人处理)
作用: 当方法内部抛出异常对象的时候,我们必须处理这个异常对象 可以使用throws 抛出异常 抛给谁? 抛给方法的调用者处理(自己不处理,给别人处理) 如果到了main方法,还继续往外抛出,则 最终交给JVM(1.打印错误信息 2.中断程序)、
注意: throws 关键字 必须写在方法的声明处 throws 关键字 后面必须是 Exception 或者 Exception 子类 方法内部如果抛出了多个异常对象,那么 throws 后面也必须声明多个异常对象 如果抛出多个异常对象存在父子关系,那么直接抛出父异常就可以
4.10个常见的运行时异常
① ArithmeticException:算数异常
② ArrayStoreException:数组储存异常
③ ClassCastException :类型转换异常
④ DateTimeException:日期时间异常
⑤ NumberFormatException:数字格式化异常
⑥ IndexOutOfBoundsException:索引越界异常
⑦ NullPointerException:空指针异常
⑧ NegativeArraySizeException:负数组大小异常
⑨ SystemException:系统异常
⑩ InputMismatchException:输入不匹配异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值