1 /* 2 try - catch語句的例子,模擬向貨船上裝載集裝箱 3 ,若是貨船超重,那麼貨船認爲這是一個異常,將拒絕裝載集裝箱, 4 但不管是否發生異常,貨船都須要正點起航。 5 */ 6 package st; 7 class DangerException extends Exception 8 { 9 final String message ="超重"; 10 public String warnMess(){ 11 return message; 12 } 13 } 14 class CargoBoat 15 { 16 int realContent; //實際裝載的重量 17 int maxContent; //最大裝載量 18 public void setmaxContent(int c) { 19 maxContent=c; 20 } 21 public void judgeload(int load ) throws DangerException 22 { 23 if(realContent +load<maxContent) 24 realContent +=load; 25 else 26 throw new DangerException(); 27 System.out.println("目前裝載了"+realContent+"噸貨物"); 28 } 29 } 30 public class example_1 31 { 32 public static void main(String args[]) 33 { 34 CargoBoat ship = new CargoBoat(); 35 ship.setmaxContent(1000); 36 int [] m={600,400,367,555}; 37 try 38 { 39 for(int i=0 ; i<4 ; i++) 40 ship.judgeload(m[i]); 41 } 42 catch(DangerException e) 43 { 44 System.out.println(e.warnMess()); 45 System.out.println("沒法再裝載重量是"+m+"噸的集裝箱"); 46 } 47 finally 48 { 49 System.out.println("貨船將正點起航"); 50 } 51 52 } 53 }
/* 目前裝載了600噸貨物 超重 沒法再裝載重量是[I@c9d92c噸的集裝箱 貨船將正點起航 */