




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、10Java10Java語言程序設(shè)計基礎(chǔ)教程 scanner.close();.start();開始線程/復(fù)制文件的操作publicstaticvoidcopy(FilefromFile,FiletoFile)/定義一個輸入流FileInputStreamfis=null;/定義一個輸出流FileOutputStreamfos=null;try/把復(fù)制地址的File,封裝后賦值給輸入流對象fis=newFilelnputStream(fromFile);/把目的地的File,封裝后復(fù)制給輸出流的對象fos=newFileOutputStream(toFile);/創(chuàng)建一個容量,bytebuf=
2、newbyte1024;/每次讀取/寫入的字節(jié)長度intlen=0;/邊讀邊寫while(len=fis.read(buf)!=-1)/判斷是否還能讀到數(shù)據(jù)/把輸入放到輸出流里面fos.write(buf,0,len);catch(Exceptione)e.printStackTrace();finallytry/關(guān)閉輸入流和輸出流fis.close();fos.close();catch(IOExceptione)e.printStackTrace();第9章異常處理單項選擇題1、為了捕獲一個異常,代碼必須放在下面()語句塊中。A、try塊B、catch塊C、throws塊D、finally
3、塊解答:A3、下列常見的系統(tǒng)定義的異常中,哪個是輸入、輸出異常?()A、ClassNotFoundExceptionB、IOExceptionC、FileNotFoundExceptionD、UnknownHostException解答:B4、在代碼中,使用catch(Exceptione)的好處是()A、只會捕獲個別類型的異常B、捕獲try塊中產(chǎn)生的所有類型的異常C、忽略一些異常D、執(zhí)行一些程序解答:B(太難)6、異常包含下列那一個內(nèi)容?()A、程序中的語法錯誤B、程序的編譯錯誤C、程序執(zhí)行過程中遇到的事先沒有預(yù)料到的情況D、程序事先定義好的可能出現(xiàn)的意外情況解答:C(太難)7、getCus
4、tomerInfo()方法如下,try中可以捕獲三種類型的異常,如果在該方法運行中產(chǎn)生了一個IOException,將會輸出什么結(jié)果(A)publicvoidgetCustomerInfo()try/dosomethingthatmaycauseanExceptioncatch(java.io.FileNotFoundExceptionex)System.out.print(FileNotFoundException!);catch(java.io.IOExceptionex)System.out.print(IOException!);catch(java.lang.Exceptionex)
5、System.out.print(Exception!);AIOException!BIOException!Exception!CFileNotFoundException!IOException!DFileNotFoundException!IOException!Exception!8、有如下代碼段:1)if(unsafe()/dosomething.elseif(safe()/dotheother.其中,方法unsafe()將拋出IOException,請問可將以下哪項填入第1行?(D)A、publicIOExceptionmethodName()B、publicvoidmethodN
6、ame()C、publicvoidmethodName()throwIOExceptionD、publicvoidmethodName()throwsIOException9、java中用來拋出異常的關(guān)鍵字是(C)A、tryB、catchC、throwD、finally10、java中關(guān)于異常,下列說法正確的是(A)A、異常是一種對象B、一旦程序運行,異常將被創(chuàng)建C、為了保證程序運行速度,要盡量避免異??刂艱、以上說法都不對11、(A)類是所有異常類的父類。A、ThrowableB、ErrorC、ExceptionD、AWTError12、對于catch子句的排列,下列哪種是正確的(B)A、父
7、類在先,子類在后B、子類在先,父類在后C、有繼承關(guān)系的異常不能在同一個try程序段內(nèi)D、先有子類,其他如何排列都無關(guān)13、在異常處理中,如釋放資源、關(guān)閉文件、關(guān)閉數(shù)據(jù)庫等由(C)來完成。A、try子句B、catch子句C、finally子句D、throw子句14、當(dāng)方法遇到異常又不知如何處理時,下列哪種說法是正確的(C)A、捕獲異常B、拋出異常C、聲明拋出異常D、嵌套異常15、一個異常將終止(A)A、整個程序B、只終止拋出異常的方法C、產(chǎn)生異常的try塊D、上面的說法都不對填空題1、系統(tǒng)定義的運行異常都可以由系統(tǒng)自動拋出,而用戶定義的異常應(yīng)使throw語句拋出。2、Throwable類是Jav
8、a異常類的根類。3、拋出自定義異常用throws語句,在方法中拋出異常采用-throw語句。4、異常就是在程序的運行過程中所發(fā)生的錯誤5、捕獲異常的統(tǒng)一出口通過finally語句實現(xiàn)6、java語言的類庫中提供了一個Throwable類,所有的異常都必須是它的實例或它子類的實例7、Exception包括運行時異常和非運行時異常。8、catch子句都帶一個參數(shù),該參數(shù)是某個異常的類及其變量名,指明它所能夠捕獲的異常類型。catch用該參數(shù)去與異常對象的類進(jìn)行匹配。9、Java語言中有兩種異常處理機制:捕獲異常和聲明拋棄異常。簡答題9、什么是Error異常類,什么是Exception異常類,兩者在
9、處理上有什么區(qū)別?解答:Java中的異常類可分為兩大類:Error和Exception。Error包括動態(tài)鏈接失敗,虛擬機錯誤等,通常Java程序不應(yīng)該捕獲這類異常,也不會拋棄這種異常。Exception包括運行時異常和非運行時異常。Error(錯誤)表示系統(tǒng)級的錯誤和程序不必處理的異常,是java運行環(huán)境中的內(nèi)部錯誤或者硬件問題,比如,內(nèi)存資源不足等,對于這種錯誤,程序基本無能為力,除了退出運行外別無選擇。Exception(違例)表示需要捕捉或者需要程序進(jìn)行處理的異常,它處理的是因為程序設(shè)計的瑕疵而引起的問題或者外部環(huán)境造成的異常,是程序必須處理的。2、Exception異常類包括運行時異
10、常和非運行時異常,簡單介紹兩者內(nèi)容。解答:繼承于RuntimeException的類都屬于運行時異常,例如算術(shù)異常(除零錯)、數(shù)組下標(biāo)越界異常等等。由于這些異常產(chǎn)生的位置是未知的,Java編譯器允許程序員在程序中不對它們做出處理。除了運行時異常之外的其他由Exception繼承來的異常類都是非運行時的異常,例如FileNotFoundException(文件未找到異常)。Java編譯器要求在程序中必須處理這種異常,捕獲異常或者聲明拋棄異常。3、Java語言中有哪兩種異常處理機制,簡單進(jìn)行介紹。解答:捕獲異常和聲明拋棄異常。(1)捕獲異常:當(dāng)Java運行環(huán)境得到一個異常對象時,它將會沿著方法的調(diào)
11、用棧逐層回溯,尋找處理這一異常的代碼。找到能夠處理這種類型的異常的方法后,運行環(huán)境把當(dāng)前異常對象交給這個方法進(jìn)行處理,這一過程稱為捕獲(catch)異常。這是積極的異常處理機制。如果Java運行環(huán)境找不到可以捕獲異常的方法,則運行環(huán)境將終止,相應(yīng)的Java程序也將退出。(2)聲明拋棄異常:如果一個方法并不知道如何處理所出現(xiàn)的異常,則可在方法聲明時,聲明拋棄(throws)異常。這是一種消極的異常處理機制。綜合題7、編寫一個異常類MyException,再編寫一個類Student,該類有一個產(chǎn)生異常的方法publicvoidspeak(intm)throwsMyException,要求參數(shù)m的值
12、大于1000時,方法拋出一個MyException對象。最后編寫主類,在主類的main方法中用Student創(chuàng)建一個對象,讓該對象調(diào)用speak方法。(我寫的簡單方法)publicclassTestException1publicstaticvoidmain(Stringargs)/TODOAuto-generatedmethodstubStudentst1=newStudent();tryst1.speak(10);catch(MyExceptione)System.out.println(parammoutof1000);classStudentpublicvoidspeak(intm)t
13、hrowsMyExceptionif(m1000)MyExceptione=newMyException();throwe;classMyExceptionextendsExceptionpublicMyException()super();(標(biāo)準(zhǔn)答案)importjava.util.Scanner;classMyExceptionextendsExceptionStringmessage;MyException(intm)message=thenumber+m+greatthan1000;publicStringtoString()returnmessage;classStudentpubl
14、icvoidspeak(intm)throwsMyExceptionif(m1000)MyExceptionex=newMyException(m);throwex;elseSystem.out.println(thenumberis:+m);classTestException1publicstaticvoidmain(Stringargs)Students=newStudent();try/System.out.print(Pleaseinputnumber:);/Scannernum=newScanner(System.in);s.speak(10000);catch(MyExcepti
15、onmye)System.out.println(mye.toString();參考下面的程序,試修改程序,捕獲相關(guān)異常,使得程序能正常運行。提示:用錯誤數(shù)據(jù)測試,即可得到異常類名,運行時主方法參數(shù)輸入abc測試publicclassStringIndexOutOfpublicstaticvoidmain(Stringargs)System.out.println(字符串索引越界異常”);Stringstr=args0;System.out.println(“第四個字符為”+str.charAt(3);intaa=Integer.parseInt(args0);System.out.println(“平方為+aa*aa);從命令行得到5個整數(shù),放入一整型數(shù)組,然后打印輸出,要求:如果輸入數(shù)據(jù)丌為整數(shù),要捕獲Integer.parseInt()產(chǎn)生的異常,顯示“請輸入整數(shù)”,捕獲輸入?yún)?shù)丌足5個的異常(數(shù)組越界),顯示“請輸入至少5個整數(shù)”。寫一個方法voidsanjiao(inta,intb,intc),判斷三個參數(shù)是否能構(gòu)成一個三角形,如果丌能則拋出異常IllegalArgumentEx
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 臨時供應(yīng)合同范本
- 企業(yè)修路合同范本
- 2025年衡水駕駛員貨運從業(yè)資格證模擬考試題
- 中介交易服務(wù)合同范本
- 會展項目服務(wù)合同范例
- 2025年昆明道路貨運從業(yè)資格證模擬考試官方題下載
- 修車配件合同范本
- 出租合同范本版
- 農(nóng)村水源地租賃合同范本
- 與演員合作合同范本
- 三年級體育下冊全冊教案
- 2024年八年級語文下冊《經(jīng)典常談》第一章《說文解字》練習(xí)題卷附答案
- 發(fā)育生物學(xué)1-9章全
- (研究生)商業(yè)倫理與會計職業(yè)道德ppt教學(xué)課件(完整版)
- 中醫(yī)學(xué)課件:第三章 藏象學(xué)說
- 山西省煤炭運銷集團有限公司王家?guī)X煤礦井筒工程施工組織設(shè)計
- 三年級數(shù)學(xué)下冊單元計劃【9個單元全】
- 火力發(fā)電廠水汽化學(xué)監(jiān)督導(dǎo)則
- 二年級科學(xué)上冊期末考試質(zhì)量分析
- 相聲《治病》
- 行動學(xué)習(xí)-組織能力提升新境界培訓(xùn)課件.ppt
評論
0/150
提交評論