自定义异常
只要继承Exception或者RuntimeException就是异常类的一员
格式
public class 异常类名 extends Exception{
无参构造(){
}
带参构造(){
}
}
🌰
//继承异常类
pulic class ScoreException extends Exception{
public ScoreExpetion(){
}
public ScoreException(String message){
super(message);
//调用super传message,先是传给Exception,再传给Throwable
//Throwable里有detailmessage = message;
//这样将来就可以通过getMessage()或者printStackTrace();获取异常信息
}
}
public class Teacher{
public void checkScore(int score) throws ScoreException{
if(score < 0 || score > 100){//产生异常 需要抛出
//用带参构造方法显示异常原因
throw new ScoreException("您输入的分数大于100或小于0");//抛出的异常是继承自Exception,所以要throws抛出异常类ScoreException,跟在方法体后面
}
else{
System.out.println("分数正常");
}
}
}
public class Teacher{
public void checkScore(int score) throws ScoreException{
if(score < 0 || score > 100){//产生异常 需要抛出
//用带参构造方法显示异常原因
throw new ScoreException("您输入的分数大于100或小于0");//抛出的异常是继承自Exception,所以要throws抛出异常类ScoreException,跟在方法体后面
}
else{
System.out.println("分数正常");
}
}
}
throws
- 用在方法声明后面,跟的是异常类名
*表示抛出异常,由该方法的调用者来处理
*表示出现异常的一种可能性,并不一定会发生这些异常
throw
*用在方法体内,跟的是异常对象名
*表示抛出异常,由方法体内的语句处理
*执行throw,一定是抛出了某种异常(new)

浙公网安备 33010602011771号