针对java的异常处理机制的练习
public class CargoBoat {
//装载的重量
int realContent;
//最大的装载量
int maxContent;
public void setMaxContent(int c){
maxContent=c;
}
public void loading (int m)throws DangerException{
realContent+=m;
if(realContent>maxContent){
realContent-=m;
throw new DangerException();
}
System.out.println("目前装载了"+realContent+"吨货物。");
}
}
public class DangerException extends Exception{
final String message="超重";
public String warnMess(){
return message;
}
}
测试类:
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
CargoBoat ship=new CargoBoat();
ship.setMaxContent(1000);
int m=600;
try{
ship.loading(m);
m=400;
ship.loading(m);
m=367;
ship.loading(m);
m=555;
ship.loading(m);
}catch(DangerException e){
System.out.println(e.warnMess());
System.out.println("无法在装载的重量是"+m+"吨");
}
finally{
System.out.print("货船将正点起航!");
}
}
}
输出结果: