java异常处理机制中支持自定义异常
程序员自己定义的异常在异常处理中可以实现,好处是比较的灵活
自定义异常类 - 未满18岁异常
定义一个异常类继承父类Exception或者是RuntimeException
代码示范:
子类:继承Exception
package Test15_Demo.Demo09;/*@create 2020--12--03--15:41*/public class U18Exception extends Exception {//或者可以继承RuntimeExceptionpublic U18Exception() {super();//获取父类的无参构造}//定义有参构造public U18Exception(String massage) {super(massage);//获取父类的有参构造}}
测试类(自定义异常):
package Test15_Demo.Demo09;/*@create 2020--12--03--15:47*/import java.util.Scanner;public class U18ExceptionTest {//如果年龄小于18,就是未成年,不能注册婚恋网public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入年龄:");int age = sc.nextInt();//判断if (age < 18) {//调用自定义异常//1.创建自定义异常对象U18Exception u18 = new U18Exception("年龄小于18岁");//2.抛出异常try {throw u18;} catch (U18Exception e) {e.printStackTrace();System.out.println("年龄不满足注册婚恋网的要求!");}}// Test15_Demo.Demo09.U18Exception: 年龄小于18岁// at Test15_Demo.Demo09.U18ExceptionTest.main(U18ExceptionTest.java:23)// 年龄不满足注册婚恋网的要求!//另一种写法 - 手动创建异常对象 - 代码的示范try {throw new RuntimeException("我产生了一个运行时的异常");} catch (Exception e) {System.out.println("直接创建一个RuntimeException对象");}}}
