Java基础---异常

异常

·异常是程序中可能出现的问题

·异常体系的最上层父类是Exception

·异常分为两类:编译时异常、运行时异常

·编译时异常和运行时异常的差别:

​ ·编译时异常:没有继承RuntimeException的异常,直接继承于Exception,在编译阶段就要进行处理的异常。(例如日期解析异常)

​ ·运行时异常:RuntimeException本身和子类,编译阶段不需要处理,代码运行时出现异常(例如数组越界异常)

异常的作用

1、异常是用来查询Bug的关键参考信息

2、异常可以作为方法内部的特殊返回值,以便通知调用者底层的执行情况

异常的处理方式

1、JVM默认的处理方式

//异常的名称,异常原因以及异常位置等信息输出到控制台
//程序停止运行,下面的代码不会再执行了

2、自己处理

格式:
    try{
        可能出现异常的代码//此处出现了异常,程序就会在这里创建一个对象,拿着这个对象与catch括号中的对象对比,看是否能接收这个对象,如果能被接收,表示该异常被捕获,执行catch中的代码,然后继续执行try...体系外的代码。
    }catch(异常类名 变量名){
        异常的处理代码
    }finally{//表示一定会执行的代码

}
好处:可以让程序继续往下执行,不会停止。
    
    
    
1、如果try中没有异常,会把catch中的代码全部执行完毕,不会执行catch中的代码。,只有出现异常才会执行catch中的代码;
2、如果try中可能出现多个异常,要写多个catch与之对应。这些异常中如果存在父子关系,那么父类一定要写在下面。
    了解性:在JDK7以后,我们可以在catch中捕获多个异常,中间用|隔开,表示A异常或者B异常发生,采取同一种方案。
3、如果try中的问题没有被捕获,那么相当于try...catch白写了,最终还是会交给虚拟机处理
4、如果try中遇到了问题,那么try下面的代码就不会执行了,会直接跳转到对应的catch中,执行catch中的语句。
常用方法:
    public String getMassage()//返回throwable的详细消息字符串
    public String toString()//返回可抛出的简短描述
    public void printStackTrace()//把异常的错误信息输出在控制台,不会停止程序运行,只是打印异常信息,使用:System.err.println()打印红色字体的错误信息。

3、抛出异常

throws
    注意:写在方法定义处,表示声明一个异常,告诉调用者,使用本方法可能会有哪些异常。
    public void 方法() throws 异常名1,异常名2,异常名3...{
    
	}//编译时异常必须要写,运行时异常可以不写
throw
    注意:写在方法内,结束方法,手动抛出异常对象,交给调用者,方法下面的代码不再执行。
    public void 方法(){
    	throw new NullpointerException();
	}

4、自定义异常

意义:就是为了让控制台的报错信息更加的见名知意

1、定义异常类//以Exception结尾,表示是一个异常类
2、写继承关系//如果时运行时异常继承RuntimeException 核心:由于参数问题导致的
   //编译时异常继承Exception。核心:提醒程序员检查本地信息
    
3、空参构造
4、带参构造

ption 核心:由于参数问题导致的
//编译时异常继承Exception。核心:提醒程序员检查本地信息

3、空参构造
4、带参构造


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值