JAVA异常

JAVA异常

Throwable是所有异常类的父类,Throwable类中定义了一些查看方法:

  • public String getMessage():获取异常的描述信息,原因(提示给用户的时候,就提示错误原因。

  • public String toString():获取异常的类型和异常描述信息(不用)。

  • public void printStackTrace():打印异常的跟踪栈信息并输出到控制台。

包含了异常的类型,异常的原因,还包括异常出现的位置,在开发和调试阶段,都得使用printStackTrace()

一、异常产生过程:

​ 1、当程序运行时如果发生了异常,就会根据异常创建一个对应的异常类,这个类包含了异常的内容、位置、原因。

​ 2、出现异常时如果没有通过try catch捕获异常则会向上抛出,首先抛给当前方法,如果方法体没有做处理则抛给main方法,main方法也没做处理,就抛给JVM

​ 3、JVM收到异常后将异常信息打印到控制台、并且中断当前程序

二、异常处理

Java异常处理的五个关键字:try、catch、finally、throw、throws

1、抛出异常throw

​ 1、throw关键字必须写在方法后面

​ 2、throw 后边是 new 的具体对象且是ExceptionException的子类对象,且只能指定一个

​ 3、throw抛出了异常可以自己通过try catch处理,也可以在方法体上用throws声明异常让别人来处理

​ 4、throw如果抛出的是运行异常则可以不做任何处理,JVM会在运行时来处理,但是如果抛出的是编译异常,则要么try catch 要么trhows异常

2、声明异常throws

​ 1、throws必须写在类后面

​ 2、throws后面是异常类的类名,且可以写多个异常

​ 3、thorws代表声明可能出现的异常的情况,如果出现异常就向上抛出给调用者,最终给JVM处理

​ 4、如果采用声明异常则出现异常后,后续代码不会被执行,JVM会中断程序

3、捕捉异常try…catch…finally

​ 1、对有可能产生异常的代码进行监测,如果出现异常就执行catch中语句

​ 2、catch需要定义一个异常的变量,用来接收try中抛出的异常对象。可以有多个catch对象,但是需要注意catch捕获的对象必须从子类到父类,不然下面写的就是多余的就会报错

​ 3、出现异常后,不会中断程序后续执行 (try中异常后面的代码是不会被执行的)

​ 4、finally无论是否有异常都会执行,一般用来释放资源

注意事项:

​ 在子类与父类异常中:

​ 1、如果父类方法声明了异常,那么子类重写父类方法时,可以选择声明同样的异常或是这个异常的子类,或者选择不声明异常

​ 2、如果父类没有声明异常,则子类重写方法时也不能声明异常

​ 3、如果子类中可能出现异常,则只能捕捉异常不能声明异常。

​ 自定义异常类

​ 1、需要继承exception类或者RunTimeException类

​ 2、需要添加一个无参构造,和一个代异常信息的构造方法

​ 3、构造方法中要调用父类的构成来让父类进行处理

public class MyException extends Exception{
	public MyException(){
		super();
	}
	public MyException(String s){
		super(s);
	}
}

编译器异常必须进行处理,运行异常可以不做处理交由JVM来处理

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值