1.运行时异常:RuntimeException的子类就是运行时期异常,在编译时期可以自由选择处理或者不处理。
2.编译时异常:抛出和捕获,抛出在编译时期必须处理,是Exception的子类,非RuntimeException的子类。
3.自定义异常:
案例:写一个方法,接受考试成绩的范围在0-100之间属于正常,否则属于异常
package Exception;
public class ExceptionDemo2 {
public static void main(String[] args){
checkScore(101);
}
public static void checkScore(int n) {
if(n<0 || n>100) {
/*throw new RuntimeException("考试成绩不合格");//抛出运行时异常*/
//throw new Exception("考试成绩不合格");//抛出编译时异常
//如果抛出(throw)的是编译时异常,必须在方法声明处抛出(throws)异常
throw new MyException("考试成绩不合格");//自定义异常
}
System.out.println("考试成绩合格");
}
}
public class MyException extends RuntimeException {
public MyException() {
super();
}
public MyException(String s) {
super(s);
网友评论