欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java编写简单的自定义异常类

程序员文章站 2022-03-15 11:43:35
...

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/peanutwzk/article/details/78934392
异常关键字
1:try catch
try catch是这之间所包含的代码如果出现异常时捕获他,并进行处理的,如果代码之间有错误,不会影响程序继续执行下去,程序会继续往后执行。
2:throw
是在程序中明确抛出引发的异常,比如throw new Exception();
3:throws
表明方法可能会引发异常,在方法内部并不处理这个异常,想要得到异常的话,调用者使用try catch语句即可得到
4:finally
不管有没有异常程序段中都会被执行的代码
一:自定义异常类:

//或者继承RuntimeException(运行时异常) 
public class MyException extends Exception { 
 
  private static final long serialVersionUID = 1L; 
 
  // 提供无参数的构造方法
  public MyException() { 
  } 
  // 提供一个有参数的构造方法,可自动生成
  public MyException(String message) { 
    super(message);// 把参数传递给Throwable的带String参数的构造方法 
  }  
} 

二:写一个测试分数的方法类:这里面是抛出一个自己写的异常类

public class CheckScore { 
 
  // 检查分数合法性的方法check() 如果定义的是运行时异常就不用抛异常了 
  public void check(int score) throws MyException {// 抛出自己的异常类 
    if (score > 120 || score < 0) { 
      // 分数不合法时抛出异常 
      throw new MyException("分数不合法,分数应该是0--120之间");// new一个自己的异常类 
    } else { 
      System.out.println("分数合法,你的分数是" + score); 
    } 
  } 
} 

三:写一个测试分数,如果有异常,要捕获,不要抛出了

import java.util.Scanner; 
 
/* 
 * 自定义的异常测试类 
 */ 
public class Student { 
  public static void main(String[] args) { 
    Scanner sc = new Scanner(System.in); 
    int score = sc.nextInt(); 
 
    CheckScore check = new CheckScore(); 
    try { 
      check.check(score); 
    } catch (MyException e) {// 用自己的异常类来捕获异常 
      e.printStackTrace(); 
    } 
  } 
 
}