自定义异常:
使用java内置的异常类可以描述在编程时出现的大部分异常情况。除此之外,用户只需继承Excetion类即可自定义异常类。
在程序中使用自定义异常类,大体可分为以下几个步骤:
1、 创建自定义异常类;
2、 在方法中通过throw关键字抛出异常对象;
3、 如果在当前抛出异常的方法中处理异常,可以使用try-cath语句块捕捉并处理,否则在方法的声明处通过throw关键字指明要抛出给方法调用者的异常,继承进行下一步操作。
4、 在出现异常方法的调用者中捕获并处理异常
例1:创建自定义异常。在项目中创建类MyException,该类继承Exception
字符串ErrorMessage是要输出的错误信息。若想要抛出用户自定义的异常对象,要使用throw关键字
例2:在项目中创建类Tran,该类中创建一个带有int型参数的方法avg(),该方法用来检查参数是否小于0或大于100.如果参数小于0或者大于100,则通过throw关键字抛出一个MyException异常对象,并在main()方法中捕获该异常。
运行结果如图所示:
若某个方法可能会发生异常,但不想在当前方法中处理这个异常,则可以使用throws、throw关键字在方法中抛出异常。
抛出异常:
Throws关键字通常被应用在声明方法时,用来指定方法可能抛出的异常。多个异常可使用逗号分隔。
例:在项目中创建类Shoot,在该类中创建方法pop(),在该方法中抛出NegativeArraySizeException异常,在主方法中调用该方法,并实现异常处理。
运行结果如图所示:
使用throws关键字将异常抛给上一级后,如果不想处理该异常,可以继续向上抛出,但最终要有能够处理该异常的代码。
如果是Error、RuntimeException或它们的子类,可以不使用throws关键字来声明要抛出的异常,编译仍能顺利通过,但在运行时会被系统抛出。