




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、10Java10Java語言程序設(shè)計(jì)基礎(chǔ)教程 scanner.close();.start();開始線程/復(fù)制文件的操作publicstaticvoidcopy(FilefromFile,FiletoFile)/定義一個(gè)輸入流FileInputStreamfis=null;/定義一個(gè)輸出流FileOutputStreamfos=null;try/把復(fù)制地址的File,封裝后賦值給輸入流對(duì)象fis=newFilelnputStream(fromFile);/把目的地的File,封裝后復(fù)制給輸出流的對(duì)象fos=newFileOutputStream(toFile);/創(chuàng)建一個(gè)容量,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章異常處理單項(xiàng)選擇題1、為了捕獲一個(gè)異常,代碼必須放在下面()語句塊中。A、try塊B、catch塊C、throws塊D、finally
3、塊解答:A3、下列常見的系統(tǒng)定義的異常中,哪個(gè)是輸入、輸出異常?()A、ClassNotFoundExceptionB、IOExceptionC、FileNotFoundExceptionD、UnknownHostException解答:B4、在代碼中,使用catch(Exceptione)的好處是()A、只會(huì)捕獲個(gè)別類型的異常B、捕獲try塊中產(chǎn)生的所有類型的異常C、忽略一些異常D、執(zhí)行一些程序解答:B(太難)6、異常包含下列那一個(gè)內(nèi)容?()A、程序中的語法錯(cuò)誤B、程序的編譯錯(cuò)誤C、程序執(zhí)行過程中遇到的事先沒有預(yù)料到的情況D、程序事先定義好的可能出現(xiàn)的意外情況解答:C(太難)7、getCus
4、tomerInfo()方法如下,try中可以捕獲三種類型的異常,如果在該方法運(yùn)行中產(chǎn)生了一個(gè)IOException,將會(huì)輸出什么結(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,請(qǐng)問可將以下哪項(xiàng)填入第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、異常是一種對(duì)象B、一旦程序運(yùn)行,異常將被創(chuàng)建C、為了保證程序運(yùn)行速度,要盡量避免異??刂艱、以上說法都不對(duì)11、(A)類是所有異常類的父類。A、ThrowableB、ErrorC、ExceptionD、AWTError12、對(duì)于catch子句的排列,下列哪種是正確的(B)A、父
7、類在先,子類在后B、子類在先,父類在后C、有繼承關(guān)系的異常不能在同一個(gè)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)方法遇到異常又不知如何處理時(shí),下列哪種說法是正確的(C)A、捕獲異常B、拋出異常C、聲明拋出異常D、嵌套異常15、一個(gè)異常將終止(A)A、整個(gè)程序B、只終止拋出異常的方法C、產(chǎn)生異常的try塊D、上面的說法都不對(duì)填空題1、系統(tǒng)定義的運(yùn)行異常都可以由系統(tǒng)自動(dòng)拋出,而用戶定義的異常應(yīng)使throw語句拋出。2、Throwable類是Jav
8、a異常類的根類。3、拋出自定義異常用throws語句,在方法中拋出異常采用-throw語句。4、異常就是在程序的運(yùn)行過程中所發(fā)生的錯(cuò)誤5、捕獲異常的統(tǒng)一出口通過finally語句實(shí)現(xiàn)6、java語言的類庫中提供了一個(gè)Throwable類,所有的異常都必須是它的實(shí)例或它子類的實(shí)例7、Exception包括運(yùn)行時(shí)異常和非運(yùn)行時(shí)異常。8、catch子句都帶一個(gè)參數(shù),該參數(shù)是某個(gè)異常的類及其變量名,指明它所能夠捕獲的異常類型。catch用該參數(shù)去與異常對(duì)象的類進(jìn)行匹配。9、Java語言中有兩種異常處理機(jī)制:捕獲異常和聲明拋棄異常。簡答題9、什么是Error異常類,什么是Exception異常類,兩者在
9、處理上有什么區(qū)別?解答:Java中的異常類可分為兩大類:Error和Exception。Error包括動(dòng)態(tài)鏈接失敗,虛擬機(jī)錯(cuò)誤等,通常Java程序不應(yīng)該捕獲這類異常,也不會(huì)拋棄這種異常。Exception包括運(yùn)行時(shí)異常和非運(yùn)行時(shí)異常。Error(錯(cuò)誤)表示系統(tǒng)級(jí)的錯(cuò)誤和程序不必處理的異常,是java運(yùn)行環(huán)境中的內(nèi)部錯(cuò)誤或者硬件問題,比如,內(nèi)存資源不足等,對(duì)于這種錯(cuò)誤,程序基本無能為力,除了退出運(yùn)行外別無選擇。Exception(違例)表示需要捕捉或者需要程序進(jìn)行處理的異常,它處理的是因?yàn)槌绦蛟O(shè)計(jì)的瑕疵而引起的問題或者外部環(huán)境造成的異常,是程序必須處理的。2、Exception異常類包括運(yùn)行時(shí)異
10、常和非運(yùn)行時(shí)異常,簡單介紹兩者內(nèi)容。解答:繼承于RuntimeException的類都屬于運(yùn)行時(shí)異常,例如算術(shù)異常(除零錯(cuò))、數(shù)組下標(biāo)越界異常等等。由于這些異常產(chǎn)生的位置是未知的,Java編譯器允許程序員在程序中不對(duì)它們做出處理。除了運(yùn)行時(shí)異常之外的其他由Exception繼承來的異常類都是非運(yùn)行時(shí)的異常,例如FileNotFoundException(文件未找到異常)。Java編譯器要求在程序中必須處理這種異常,捕獲異?;蛘呗暶鲯仐壆惓?。3、Java語言中有哪兩種異常處理機(jī)制,簡單進(jìn)行介紹。解答:捕獲異常和聲明拋棄異常。(1)捕獲異常:當(dāng)Java運(yùn)行環(huán)境得到一個(gè)異常對(duì)象時(shí),它將會(huì)沿著方法的調(diào)
11、用棧逐層回溯,尋找處理這一異常的代碼。找到能夠處理這種類型的異常的方法后,運(yùn)行環(huán)境把當(dāng)前異常對(duì)象交給這個(gè)方法進(jìn)行處理,這一過程稱為捕獲(catch)異常。這是積極的異常處理機(jī)制。如果Java運(yùn)行環(huán)境找不到可以捕獲異常的方法,則運(yùn)行環(huán)境將終止,相應(yīng)的Java程序也將退出。(2)聲明拋棄異常:如果一個(gè)方法并不知道如何處理所出現(xiàn)的異常,則可在方法聲明時(shí),聲明拋棄(throws)異常。這是一種消極的異常處理機(jī)制。綜合題7、編寫一個(gè)異常類MyException,再編寫一個(gè)類Student,該類有一個(gè)產(chǎn)生異常的方法publicvoidspeak(intm)throwsMyException,要求參數(shù)m的值
12、大于1000時(shí),方法拋出一個(gè)MyException對(duì)象。最后編寫主類,在主類的main方法中用Student創(chuàng)建一個(gè)對(duì)象,讓該對(duì)象調(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)異常,使得程序能正常運(yùn)行。提示:用錯(cuò)誤數(shù)據(jù)測試,即可得到異常類名,運(yùn)行時(shí)主方法參數(shù)輸入abc測試publicclassStringIndexOutOfpublicstaticvoidmain(Stringargs)System.out.println(字符串索引越界異常”);Stringstr=args0;System.out.println(“第四個(gè)字符為”+str.charAt(3);intaa=Integer.parseInt(args0);System.out.println(“平方為+aa*aa);從命令行得到5個(gè)整數(shù),放入一整型數(shù)組,然后打印輸出,要求:如果輸入數(shù)據(jù)丌為整數(shù),要捕獲Integer.parseInt()產(chǎn)生的異常,顯示“請(qǐng)輸入整數(shù)”,捕獲輸入?yún)?shù)丌足5個(gè)的異常(數(shù)組越界),顯示“請(qǐng)輸入至少5個(gè)整數(shù)”。寫一個(gè)方法voidsanjiao(inta,intb,intc),判斷三個(gè)參數(shù)是否能構(gòu)成一個(gè)三角形,如果丌能則拋出異常IllegalArgumentEx
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 天津市河西區(qū)實(shí)驗(yàn)中學(xué)2024-2025學(xué)年高三年級(jí)第二次四校聯(lián)考物理試題含解析
- 江西省鷹潭市2025屆第二學(xué)期高三4月綜合測試(二)英語試題試卷含解析
- 寧波市鎮(zhèn)海區(qū)重點(diǎn)中學(xué)2025年初三中考熱身練習(xí)試題英語試題試卷含答案
- 蘭州工業(yè)學(xué)院《誤差理論與測量平差基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 江蘇省重點(diǎn)中學(xué)2025年普通高中高三第一次診斷性測試物理試題含解析
- 長沙航空職業(yè)技術(shù)學(xué)院《客戶關(guān)系管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 遼寧省阜新二中2025年高三畢業(yè)生復(fù)習(xí)統(tǒng)一檢測試題生物試題含解析
- 山東省濟(jì)寧市市中學(xué)區(qū)2025屆初三下第二次測試(化學(xué)試題理)試題含解析
- 遼寧省盤錦市大洼區(qū)市級(jí)名校2024-2025學(xué)年初三中考沖刺預(yù)測卷(六)生物試題含解析
- 上海外國語大學(xué)《英語教學(xué)評(píng)價(jià)》2023-2024學(xué)年第二學(xué)期期末試卷
- 板翅式換熱器介紹
- 安全意識(shí)培訓(xùn)的關(guān)鍵要素考核試卷
- 山西同文職業(yè)技術(shù)學(xué)院嬰幼兒托育服務(wù)與管理人才培養(yǎng)方案
- 05生產(chǎn)制造指令單
- 第十一章-新聞事業(yè)管理-《新聞學(xué)概論》課件
- 招標(biāo)代理機(jī)構(gòu)入圍項(xiàng)目技術(shù)投標(biāo)方案(技術(shù)方案)
- 2024年3月湖北省武漢市高三一??荚嚁?shù)學(xué)試卷及答案
- 十二個(gè)月完整版本
- 2024入團(tuán)積極分子入團(tuán)考試題庫含答案
- 歷史人物趙一曼的家書
- 前列腺癌2024治療指南
評(píng)論
0/150
提交評(píng)論