java 抛出异常的目的_Java实验八,异常
一.實驗目的
1. 掌握自定義異常類的編寫;
2. 掌握使用try-catch語句來處理異常。
二.實驗內(nèi)容及要求
車站檢查危險品的設備,如果發(fā)現(xiàn)危險品會發(fā)出警告。編程模擬設備發(fā)現(xiàn)危險品:
1. 編寫一個Exception的子類DangerException,該子類可以創(chuàng)建異常對象,該異常對象調(diào)用showMessage()方法輸出“屬于危險品”。
2. 編寫一個Goods類,其中包括行李名稱和是否為危險品的屬性及對應的設置和獲取方法。
3. 編寫一個Machine類,其中的checkGoods方法當發(fā)現(xiàn)行李為危險品時將拋出DangerException異常。
4. 在主類的main()方法中定義n件行李,隨機產(chǎn)生其是否為危險品的屬性,并使用try-catch語句讓Machine類的實例調(diào)用checkGoods方法進行異常處理。
三.實驗過程及結(jié)果 ①DangerException.java public class DangerException extends Exception{ String message;//字符串變量,是否為危險品 public DangerException() { message = "屬于危險品"; }//屬性為危險品時,設置變量值為"屬于危險品" String showMessage(){ return message; }//返回顯示信息 } ②Goods.java public class Goods { String luggageName;//行李名 boolean isDanger;//行李屬性。true:危險;false:不危險 void setLuggageName(String luggageName){ this.luggageName = luggageName; }//設置行李名 String getLuggageName(){ return luggageName; }//返回行李名 void setisDanger(boolean b){ isDanger = b; }//隨機設置行李屬性 boolean getIsDanger(){ return isDanger; }//返回行李屬性 } ③Machine.java import java.util.Random; public class Machine { void checkGoods(Goods goods) throws DangerException{ if (goods.isDanger){//若行李性質(zhì)為true,拋出異常 throw new DangerException(); } } public static void main(String[] args){ Random random = new Random(); Machine machine = new Machine(); //行李名可選擇范圍 String name[] = {"vegetable", "apple", "gun", "candy", "cheery", "drink"}; Goods goods[] = new Goods[10]; System.out.printf("%-26s|%-13s|%s\n", "行李", "是否危險", "異常信息"); System.out.println("------------------------------------"); for (int i = 0; i < goods.length; i++) { int index = random.nextInt(6); boolean b = random.nextBoolean(); goods[i] = new Goods(); goods[i].setLuggageName(name[index]);//隨機設置行李名 goods[i].setisDanger(b);//隨機設置行李屬性 //輸出行李信息 System.out.printf("%-2d. %-12s|%-12s|", i+1, goods[i].getLuggageName(), goods[i].getIsDanger()); if (!goods[i].getIsDanger()) { System.out.println(); } try{ machine.checkGoods(goods[i]);//若危險屬性為true,拋出異常 } catch (DangerException e){ System.out.println(e.showMessage());//輸出異常信息 } }//for }//main }
四.實驗中的問題及心得
1.try-catch:將可能出現(xiàn)異常的操作(代碼)放在try部分,一旦try部分拋出異常,或調(diào)用某個可能拋出異常對象的方法,且該方法拋出了異常對象,則try部分立刻結(jié)束執(zhí)行,轉(zhuǎn)向catch部分(try-catch可由多個catch組成,分別處理相應異常)
2.Java中所有異常類都是Exception類的子類,屬于繼承的范疇,對異常類的使用有助于加深對繼承的理解
3.Java允許自定義異常類,自定義的異常類可以處理類中獨特的異常,自定義的異常類需是Exception類的子類
4.java使用throw關鍵字拋出一個Exception子類的實例表示異常發(fā)生
總結(jié)
以上是生活随笔為你收集整理的java 抛出异常的目的_Java实验八,异常的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java课外兴趣小组管理系统_课外兴趣小
- 下一篇: 刀片 显卡 排行_AMD发布Radeon