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();
}
}
}