自定义异常:
1,编写一个类继承Exception或者RunTimeException。
2,提供一个无参和String参数的构造方法
在开发中,就可以自己定义需要的异常。
方法覆盖:
子类重写父类的方法之后只能抛出比原来的方法更少的异常。
异常关键字总结:
举例,给一个电脑类添加开机和运行异常:
package com.fan;
import java.util.Random;
import java.util.Scanner;
public class main {
public static void main(String[] args) {
Computer com=new Computer();
Scanner s=new Scanner(System.in);
com.setState(s.nextInt());
try {
com.run();
} catch (StartException e) {
e.printStackTrace();
} catch (RunningException e) {
e.printStackTrace();
} finally {
com.reset();
}
}
}
package com.fan;
public class StartException extends Exception {
public StartException(String e){
super(e);
}
}
package com.fan;
public class Computer {
private int state;
public Computer(){
state=0;
}
public void run () throws StartException,RunningException{
if (state==1){
throw new StartException("无法开机");
}
else if(state==2){
throw new RunningException("运行异常");
}
}
public void setState(int state) {
this.state = state;
}
public void reset(){
state=0;
}
}
package com.fan;
public class RunningException extends Exception {
public RunningException(String e){
super(e);
}
}