您的位置:首页 > 编程语言 > Java开发

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

2017-12-29 19:19 232 查看
原文:http://www.jb51.net/article/94016.htm

异常关键字

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

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  异常