Java的异常体系

Java的异常体系


在我们编译Java程序的时候经常会出现各种问题,这些问题大多数为:异常(Exception)和错误(Error)。
错误,在编译的时候是发现不了,就不多说了,主要说说这个异常。

异常(Exception),又分为“受检异常”和“非受检异常”(RuntimeExecpition)

非受检异常通常有 “空指针异常”和“下标越界”等等之类。
非受检异常通常要运行之后才能发现并解决。
出现非受检异常的时候,程序会运行到出现异常的地方就停止运行了。
受检异常通常指编译程序的时候报出的异常。
受检异常在编译时候报错不解决,那么这样程序就不可以运行。
在编译的时候就可以解决,解决的方法有两种:
一、抛出异常
抛出异常,就是把抛出到方法名后面
在构建输入流对象的时候就会抛出异常,就可以把异常抛出到方法名后面
		public void test() throws 异常类型{
			//存在异常的代码块
		}
此异常主要是针对存在异常的代码块出现的异常问题,中止当前方法的执行
此方法把异常问题抛出给调用此方法的上一级函数当中,并调用出自行处理异常
		public static void main(String[] args) throws IOException {}
这样这个异常就交给JVM底层去处理, 我们就可以不用再去管了。

二、用try尝试运行
使用try的时候要知道这个程序可能会出现异常,那么就可以用这个方法去尝试运行这个并不会影响到程序的运行

		try{
			//可能出现异常的代码部分
		}catch(异常类型 异常变量){
			//执行异常操作
		}catch(异常类型 异常变量){
			//执行异常操作
 		}…
		finally{
    			//处理完try与catch操作后的收尾操作,异常统一出口
		
try来尝试运行,catch 由上到下,异常类的范围必须由小到大或者同级别的
运行时异常,catch中可以随意定义类型,程序运行时,会根据catch参数自动匹配
finally关键字,在进行异常处理之后,在异常的处理格式中还有一个finally语句,
此语句将作为异常的统一出口,不管是否产生异常, 最终都要执行此段代码。
如果try中有return语句,则会先执行return语句,后执行finally,最后返回整个方法

抛出异常处理机制:throw抛出异常对象
此操作主要是对当前产生的异常对象进行抛出操作
常用的处理格式是结合try...catch和throws一起使用
		public void test() throws 异常对象类型{
			try{
				//存在异常的代码块
			}catch(异常类型 变量名){
				throw 异常对象;
			}
		}
throw异常对象注意
throw一般存在于catch语句当中,用于出现异常后的一种操作方式
捕捉的异常和抛出的异常不一定相同,可以不一样
throw抛出的异常对象如果是检测异常,则所在的方法必须要通过throws显性抛出
throw抛出的异常对象如果是非检测异常,则方法上可以选择性定义throws

除了这两个方法,还有一个自定义异常。
自定义异常一般是自己定义一个类来扩展Exception类
格式:
	public class 自定义异常类名 extends Exception{}
自定义异常一般适用于throw代码块抛出
这些就是经常出现的异常和异常处理的方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值