java異常處理_第1頁
java異常處理_第2頁
java異常處理_第3頁
java異常處理_第4頁
java異常處理_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、1第第5章章 異常處理異常處理實際運行的軟件系統(tǒng)實際運行的軟件系統(tǒng)不僅不僅具有滿足用戶需求的強具有滿足用戶需求的強大功能,大功能,還必須還必須具有高度的具有高度的可靠性、穩(wěn)定性可靠性、穩(wěn)定性和和容錯性容錯性。Java語言語言語法體系語法體系是嚴密的,是嚴密的,語法檢查語法檢查是嚴格的,是嚴格的,不僅不僅在在編譯時編譯時能夠檢查出所有語法錯誤,能夠檢查出所有語法錯誤,而且而且在在運行時運行時能夠捕獲到所有運行時錯誤;能夠捕獲到所有運行時錯誤;Java的的異常處理異常處理提供對運行時錯誤的語言級處理機制;提供對運行時錯誤的語言級處理機制;Java的的內(nèi)存自動管理內(nèi)存自動管理提供內(nèi)存資源使用的安全性

2、。提供內(nèi)存資源使用的安全性。2第第5章章 異常處理異常處理異常處理異常處理捕獲和處理運行時錯誤的一種機制。捕獲和處理運行時錯誤的一種機制。u異常處理異常處理機制機制使程序具有處理錯誤的能力,即使程序具有處理錯誤的能力,即使發(fā)生了運行時錯誤,應(yīng)用程序能夠捕獲異常并使發(fā)生了運行時錯誤,應(yīng)用程序能夠捕獲異常并及時處理異常,使程序從運行時錯誤中很好地恢及時處理異常,使程序從運行時錯誤中很好地恢復(fù)并繼續(xù)運行,而不會導(dǎo)致程序運行非正常終止。復(fù)并繼續(xù)運行,而不會導(dǎo)致程序運行非正常終止。3第第5章章 異常處理異常處理5.1 程序錯誤與處理程序錯誤與處理5.2 Java的異常處理的異常處理45.1 程序錯誤與處

3、理程序錯誤與處理5.1.1 程序錯誤、發(fā)現(xiàn)時刻及錯誤處理原則程序錯誤、發(fā)現(xiàn)時刻及錯誤處理原則5.1.2 面向過程語言與面向?qū)ο笳Z言面向過程語言與面向?qū)ο笳Z言 的錯誤處理方式比較的錯誤處理方式比較5.1.3 Java的錯誤和異常的錯誤和異常51. 語法錯語法錯( (編譯錯編譯錯) )5.1.1 程序錯誤、發(fā)現(xiàn)時刻及錯誤處理原則程序錯誤、發(fā)現(xiàn)時刻及錯誤處理原則語法錯語法錯違反語法規(guī)范違反語法規(guī)范的錯誤,通常在的錯誤,通常在編譯時編譯時發(fā)現(xiàn)。發(fā)現(xiàn)。例如:例如:標(biāo)識符未聲明、表達式中運算符與操作數(shù)類型不兼容、標(biāo)識符未聲明、表達式中運算符與操作數(shù)類型不兼容、 變量賦值時的類型與聲明時的類型不匹配、變量賦

4、值時的類型與聲明時的類型不匹配、 括號不匹配、語句末尾缺少分號等。括號不匹配、語句末尾缺少分號等。發(fā)現(xiàn)和排除:發(fā)現(xiàn)和排除: Java編譯器編譯器能夠發(fā)現(xiàn)能夠發(fā)現(xiàn)所有語法錯所有語法錯,給出錯誤的位置和性質(zhì)。,給出錯誤的位置和性質(zhì)。syntax error62. 語義錯語義錯( (運行錯運行錯) )5.1.1 程序錯誤、發(fā)現(xiàn)時刻及錯誤處理原則程序錯誤、發(fā)現(xiàn)時刻及錯誤處理原則語義錯語義錯如果程序在如果程序在語法上正確語法上正確,但在,但在語義上存在錯誤語義上存在錯誤。 不能被不能被編譯系統(tǒng)發(fā)現(xiàn),編譯系統(tǒng)發(fā)現(xiàn),只有只有到程序到程序運行時才能被系統(tǒng)運行時才能被系統(tǒng) 發(fā)現(xiàn)發(fā)現(xiàn),所以含有語義錯的程序,所以含

5、有語義錯的程序能夠通過編譯能夠通過編譯。semantic error (run-time error)例如:例如:輸入數(shù)據(jù)格式錯、除數(shù)為輸入數(shù)據(jù)格式錯、除數(shù)為0 0錯、錯、 給變量賦予超出其范圍的值等。給變量賦予超出其范圍的值等。發(fā)現(xiàn)和排除:發(fā)現(xiàn)和排除: Java解釋器解釋器在運行時能夠發(fā)現(xiàn)語義錯,一旦發(fā)現(xiàn)了語義錯,在運行時能夠發(fā)現(xiàn)語義錯,一旦發(fā)現(xiàn)了語義錯,Java將停止程序運行,并給出錯誤的位置和性質(zhì)。將停止程序運行,并給出錯誤的位置和性質(zhì)。73. 邏輯錯邏輯錯5.1.1 程序錯誤、發(fā)現(xiàn)時刻及錯誤處理原則程序錯誤、發(fā)現(xiàn)時刻及錯誤處理原則logic error 語義錯語義錯如果程序通過編譯,可

6、運行,但運行結(jié)果與期望值如果程序通過編譯,可運行,但運行結(jié)果與期望值 不符,這類錯誤稱為邏輯錯。不符,這類錯誤稱為邏輯錯。例如:例如:由于循環(huán)條件不正確而沒有結(jié)果,由于循環(huán)條件不正確而沒有結(jié)果, 循環(huán)次數(shù)不對等因素導(dǎo)致計算結(jié)果不正確等。循環(huán)次數(shù)不對等因素導(dǎo)致計算結(jié)果不正確等。發(fā)現(xiàn)和排除:發(fā)現(xiàn)和排除: 由于由于系統(tǒng)無法找到邏輯錯系統(tǒng)無法找到邏輯錯,所以邏輯錯最難確定和排除。,所以邏輯錯最難確定和排除。程序員必須憑借自身的程序設(shè)計經(jīng)驗,找到錯誤原因及出錯位程序員必須憑借自身的程序設(shè)計經(jīng)驗,找到錯誤原因及出錯位置,從而改正錯誤。置,從而改正錯誤。85.1.2 面向過程語言與面向?qū)ο笳Z言的錯誤處理方式

7、比較面向過程語言與面向?qū)ο笳Z言的錯誤處理方式比較1. 面向過程語言錯誤處理方式的缺陷面向過程語言錯誤處理方式的缺陷 面向過程語言面向過程語言提供的錯誤處理方式是不完全的,不能保證提供的錯誤處理方式是不完全的,不能保證 及時發(fā)現(xiàn)錯誤并制止錯誤的蔓延。及時發(fā)現(xiàn)錯誤并制止錯誤的蔓延。例如:例如:C C語言在默認情況下是不進行數(shù)據(jù)范圍檢查的,語言在默認情況下是不進行數(shù)據(jù)范圍檢查的,面向過程語言面向過程語言沒有提供對運行時錯誤的防范和處理機制,只沒有提供對運行時錯誤的防范和處理機制,只 能任憑錯誤的產(chǎn)生而導(dǎo)致程序運行中斷。能任憑錯誤的產(chǎn)生而導(dǎo)致程序運行中斷。例如:例如:輸入數(shù)據(jù)格式錯、文件不存在、無法連

8、接數(shù)據(jù)庫、輸入數(shù)據(jù)格式錯、文件不存在、無法連接數(shù)據(jù)庫、 網(wǎng)絡(luò)連接中斷等。網(wǎng)絡(luò)連接中斷等。面向過程語言提供的錯誤處理方式面向過程語言提供的錯誤處理方式顯然不能滿足顯然不能滿足面向?qū)ο蟪绦蛟O(shè)計的要求。面向?qū)ο蟪绦蛟O(shè)計的要求。92. 面向?qū)ο笳Z言異常處理的思想面向?qū)ο笳Z言異常處理的思想 5.1.2 面向過程語言與面向?qū)ο笳Z言的錯誤處理方式比較面向過程語言與面向?qū)ο笳Z言的錯誤處理方式比較面向?qū)ο蟪绦蛟O(shè)計思想面向?qū)ο蟪绦蛟O(shè)計思想程序的程序的正確性、可靠性正確性、可靠性和和穩(wěn)定性穩(wěn)定性比比 程序效率更重要。程序效率更重要。面向?qū)ο笳Z言面向?qū)ο笳Z言提供語言級的錯誤防范和處理機制,即異常提供語言級的錯誤防范和

9、處理機制,即異常 處理機制,它提供全面的、強有力的錯誤檢查與處理方法。處理機制,它提供全面的、強有力的錯誤檢查與處理方法。異常處理機制異常處理機制將將運行時錯誤運行時錯誤封裝成若干封裝成若干錯誤類錯誤類和和異常類異常類, 并并提供異常處理語句提供異常處理語句用于用于在程序中實現(xiàn)在程序中實現(xiàn)對運對運 行時錯誤的發(fā)現(xiàn)和及時處理行時錯誤的發(fā)現(xiàn)和及時處理,是一種對異常,是一種對異常 進行事后處理的機制。進行事后處理的機制。 102. 面向?qū)ο笳Z言異常處理的思想面向?qū)ο笳Z言異常處理的思想 異常處理機制的異常處理機制的優(yōu)越性體現(xiàn)優(yōu)越性體現(xiàn)在以下兩方面:在以下兩方面: n 從語法上看從語法上看,異常處理語句

10、將,異常處理語句將程序正常代碼程序正常代碼與與錯誤處理代碼錯誤處理代碼 分開分開,使程序結(jié)構(gòu)清晰,算法重點突出,可讀性強。,使程序結(jié)構(gòu)清晰,算法重點突出,可讀性強。n 從運行效果看從運行效果看,異常處理語句,異常處理語句使程序具有處理錯誤的能力使程序具有處理錯誤的能力。即使發(fā)生了運行錯,應(yīng)用程序能夠捕獲異常并及時處理異常,即使發(fā)生了運行錯,應(yīng)用程序能夠捕獲異常并及時處理異常,使程序從運行錯誤中很好地恢復(fù)并繼續(xù)運行,而不會導(dǎo)致程序使程序從運行錯誤中很好地恢復(fù)并繼續(xù)運行,而不會導(dǎo)致程序運行非正常終止。而且,如果當(dāng)前方法沒有能力處理異常,還運行非正常終止。而且,如果當(dāng)前方法沒有能力處理異常,還可以將

11、異常轉(zhuǎn)交給調(diào)用者處理??梢詫惓^D(zhuǎn)交給調(diào)用者處理。115.1.3 Java的錯誤和異常的錯誤和異常1. Java語言是安全的語言是安全的 n Java語言提供語言提供嚴密的語法規(guī)則嚴密的語法規(guī)則,彌補了,彌補了C+語言的不嚴密之處。語言的不嚴密之處。n Java在在編譯和運行時嚴格檢查錯誤編譯和運行時嚴格檢查錯誤,能夠發(fā)現(xiàn)所有語法錯和,能夠發(fā)現(xiàn)所有語法錯和 運行錯,能夠發(fā)現(xiàn)運行錯,能夠發(fā)現(xiàn)C+不能發(fā)現(xiàn)的錯誤。不能發(fā)現(xiàn)的錯誤。例如:例如:整數(shù)和字符等不同類型的數(shù)據(jù)不能進行運算等;整數(shù)和字符等不同類型的數(shù)據(jù)不能進行運算等;Java放棄了放棄了C+C+中中全程變量全程變量、goto語句語句、宏定義宏

12、定義、全局函數(shù)以全局函數(shù)以及結(jié)構(gòu)及結(jié)構(gòu)、聯(lián)合和指針數(shù)據(jù)類型聯(lián)合和指針數(shù)據(jù)類型,減少了潛在的程序錯誤。,減少了潛在的程序錯誤。 例如:例如:不能使用指針對指定地址的內(nèi)存區(qū)域進行操作等。不能使用指針對指定地址的內(nèi)存區(qū)域進行操作等。例如:例如:數(shù)組下標(biāo)越界錯誤等。數(shù)組下標(biāo)越界錯誤等。125.1.3 Java的錯誤和異常的錯誤和異常1. Java語言是安全的語言是安全的 n Java提供異常處理機制提供異常處理機制,使程序,使程序能夠捕獲并處理運行錯能夠捕獲并處理運行錯, 從而保證從而保證Java程序運行的程序運行的可靠性和容錯性可靠性和容錯性。n Java提供內(nèi)存自動管理方式提供內(nèi)存自動管理方式,能

13、夠自動跟蹤程序使用的所有,能夠自動跟蹤程序使用的所有 內(nèi)存資源,并且當(dāng)內(nèi)存資源不再被使用時能夠自動回收,內(nèi)存資源,并且當(dāng)內(nèi)存資源不再被使用時能夠自動回收,不不 需要在程序中寫釋放內(nèi)存語句需要在程序中寫釋放內(nèi)存語句,既減少了既減少了程序員的工作量,程序員的工作量, 又提高了又提高了可靠性和安全性??煽啃院桶踩?。135.1.3 Java的錯誤和異常的錯誤和異常2. 錯誤與異常錯誤與異常 (1) 錯誤錯誤(error) 錯誤錯誤指程序運行時遇到的指程序運行時遇到的硬件硬件或或操作系統(tǒng)的錯誤操作系統(tǒng)的錯誤。 n 錯誤錯誤對于程序而言是對于程序而言是致命的致命的,將導(dǎo)致程序無法運行將導(dǎo)致程序無法運行,

14、而且,而且 程序本身不能處理錯誤,只能依靠外界干預(yù),否則會一直程序本身不能處理錯誤,只能依靠外界干預(yù),否則會一直 處于非正常狀態(tài)。處于非正常狀態(tài)。例如:例如:沒有找到?jīng)]有找到.class文件;文件; .class文件中沒有文件中沒有main()方法等。方法等。145.1.3 Java的錯誤和異常的錯誤和異常2. 錯誤與異常錯誤與異常 (2) 異常異常(exception) 異常異常指在硬件和操作系統(tǒng)正常時,程序遇到的指在硬件和操作系統(tǒng)正常時,程序遇到的運行錯運行錯。 n 異常異常對于程序而言是對于程序而言是非致命的非致命的,雖然異常,雖然異常會導(dǎo)致程序非正會導(dǎo)致程序非正 常終止常終止,但,但J

15、ava的的異常處理機制異常處理機制使程序自身能夠捕獲和處使程序自身能夠捕獲和處 理異常,由異常處理代碼調(diào)整程序運行方向,理異常,由異常處理代碼調(diào)整程序運行方向,使程序仍可使程序仍可 繼續(xù)運行繼續(xù)運行。例如:例如:整數(shù)進行除法運算時除數(shù)為整數(shù)進行除法運算時除數(shù)為0; 操作數(shù)超出數(shù)據(jù)范圍;操作數(shù)超出數(shù)據(jù)范圍; 打開一個文件時發(fā)現(xiàn)文件不存在;打開一個文件時發(fā)現(xiàn)文件不存在; 網(wǎng)絡(luò)連接中斷等。網(wǎng)絡(luò)連接中斷等。15編譯程序非正常終止運行有語法錯?有 Java程序修改運行出現(xiàn)運行時錯誤?錯誤程序運行正常結(jié)束有沒有沒有異常程序非正常終止運行事先處理避免異常事后處理異常處理修改圖5.1 Java程序發(fā)現(xiàn)錯誤和異

16、常 165.1.3 Java的錯誤和異常的錯誤和異常3. 錯誤類和異常類錯誤類和異常類(1) Error類類(錯誤類錯誤類) n Error類對象類對象由由Java虛擬機生成虛擬機生成并并拋出給系統(tǒng)拋出給系統(tǒng),有內(nèi)存溢出,有內(nèi)存溢出錯誤、棧溢出錯誤、動態(tài)鏈接錯誤等。錯誤、棧溢出錯誤、動態(tài)鏈接錯誤等。 例如:例如:當(dāng)運行沒有當(dāng)運行沒有main()方法的類時,則產(chǎn)生類定義未找到錯誤方法的類時,則產(chǎn)生類定義未找到錯誤 (noClassDefFoundError); 當(dāng)使用當(dāng)使用new分配內(nèi)存時,如果沒有可用內(nèi)存,則產(chǎn)生內(nèi)存分配內(nèi)存時,如果沒有可用內(nèi)存,則產(chǎn)生內(nèi)存 溢出錯誤溢出錯誤 (OutOfMem

17、oryError);175.1.3 Java的錯誤和異常的錯誤和異常(2) Exception類類(異常類異常類) 3. 錯誤類和異常類錯誤類和異常類n Exception類對象是類對象是Java程序捕獲和處理的對象程序捕獲和處理的對象。每一種異。每一種異 常對應(yīng)于常對應(yīng)于Exception類的一個子類,異常對象中類的一個子類,異常對象中包含錯誤的位包含錯誤的位 置和特征信息置和特征信息。Java預(yù)定義了多種通用的異常類:預(yù)定義了多種通用的異常類:例如例如除數(shù)為除數(shù)為0的算術(shù)異常、數(shù)組下標(biāo)越界異常、空指針異常等。的算術(shù)異常、數(shù)組下標(biāo)越界異常、空指針異常等。Java中也可以自定義異常類。中也可以

18、自定義異常類。注:注:Exception類和類和Error類都是類都是Throwable類的子類。類的子類。185.1.3 Java的錯誤和異常的錯誤和異?!纠?.1】發(fā)現(xiàn)除數(shù)為發(fā)現(xiàn)除數(shù)為0 0錯。錯。運行時運行時能夠發(fā)現(xiàn)能夠發(fā)現(xiàn)整數(shù)除法中除數(shù)為整數(shù)除法中除數(shù)為0 0的語義錯。的語義錯。運行時運行時不能發(fā)現(xiàn)不能發(fā)現(xiàn)浮點數(shù)除法中除數(shù)為浮點數(shù)除法中除數(shù)為0 0的語義錯。的語義錯。 對于整數(shù)除法中除數(shù)為對于整數(shù)除法中除數(shù)為0 0的語義錯,的語義錯,Java在運行時能夠在運行時能夠發(fā)現(xiàn)并拋出異常,程序停止運行;發(fā)現(xiàn)并拋出異常,程序停止運行; 對于浮點除法中除數(shù)為對于浮點除法中除數(shù)為0 0的語義錯,的

19、語義錯,Java在運行時不能在運行時不能發(fā)現(xiàn),運算結(jié)果為發(fā)現(xiàn),運算結(jié)果為Infinity(無窮大)。無窮大)。System.out.println(+(3/0); /整數(shù)除法,除數(shù)為整數(shù)除法,除數(shù)為0 0,拋出算術(shù)異常,拋出算術(shù)異常System.out.println(+(3/0.0); /浮點數(shù)除法,除數(shù)為浮點數(shù)除法,除數(shù)為0 0,沒有拋出異常,運行結(jié)果為,沒有拋出異常,運行結(jié)果為Infinity(無窮大)(無窮大)195.1.3 Java的錯誤和異常的錯誤和異?!纠?.2】發(fā)現(xiàn)數(shù)組下標(biāo)越界的語義錯。發(fā)現(xiàn)數(shù)組下標(biāo)越界的語義錯。public class Outofbounds public

20、static void main (String args) int a = 1,2,3,4; for (int i=0;i多個多個catch子句需要子句需要按異常類按異常類從子類到父類的次序從子類到父類的次序依次排列依次排列。345.2.2 異常處理語句異常處理語句 2. 異常處理語句執(zhí)行過程異常處理語句執(zhí)行過程(3) 執(zhí)行執(zhí)行finally子句子句 finally子句中的語句系列是子句中的語句系列是最后必須執(zhí)行的代碼,無論最后必須執(zhí)行的代碼,無論是否產(chǎn)生異常是否產(chǎn)生異常。 當(dāng)當(dāng)try子句中的某條語句產(chǎn)生一個異常時,該語句之后的子句中的某條語句產(chǎn)生一個異常時,該語句之后的語句序列都將不會被執(zhí)

21、行。如果有些語句肯定需要被執(zhí)行,語句序列都將不會被執(zhí)行。如果有些語句肯定需要被執(zhí)行,不管是否產(chǎn)生了異常,則這些語句需要寫在不管是否產(chǎn)生了異常,則這些語句需要寫在finally子句中。子句中。 注:注:try-catch- finally 語句的結(jié)構(gòu)語句的結(jié)構(gòu)使使正常執(zhí)行的語句正常執(zhí)行的語句與與異常處異常處理的語句理的語句分離分離,增強了程序的可讀性增強了程序的可讀性。 35出現(xiàn)運行時錯誤,Java拋出異常,中斷執(zhí)行語句序列沒有運行時錯誤,沒有產(chǎn)生異常 try 語句1 catch (捕獲異常對象) 異常處理 finally 語句3 是異常處理后 程序停止運行 catch捕獲異常對象?否圖圖5.4

22、 異常處理語句的執(zhí)行流程異常處理語句的執(zhí)行流程 365.2.2 異常處理語句異常處理語句 【例例5.4】求數(shù)組元素的平均值。求數(shù)組元素的平均值。public class ArrayAverage1 public static double average(int table) /求數(shù)組元素的平均值求數(shù)組元素的平均值 double sum=0.0; for (int i=0;itable.length;i+) /避免數(shù)組下標(biāo)越界異常避免數(shù)組下標(biāo)越界異常 sum += tablei; return sum / table.length; table=null時,訪問時,訪問table.length

23、產(chǎn)生空對象異常;產(chǎn)生空對象異常;table=!null& table.length=0時,除數(shù)為時,除數(shù)為0 0無法計算平均值。無法計算平均值。int y=; /y!=null, y.length=0y=new int0; /y!=null, y.length=037 average()方法中采用方法中采用if 語句語句對可能出現(xiàn)的運行時錯對可能出現(xiàn)的運行時錯 誤進行誤進行事先處理事先處理 tointArray()方法采用方法采用異常處理異常處理語句對產(chǎn)生的運行時語句對產(chǎn)生的運行時 錯誤進行錯誤進行事后處理事后處理 采用采用命令行參數(shù)命令行參數(shù)作為作為輸入值輸入值【例例5.4】求數(shù)組元

24、素的平均值。求數(shù)組元素的平均值。5.2.2 異常處理語句異常處理語句 381. 拋出自定義異常對象的拋出自定義異常對象的throw語句語句 5.2.3 拋出異常拋出異常 Java提供給程序提供給程序主動拋出異常的語句是主動拋出異常的語句是throw: throw 異常對象異常對象 /是程序創(chuàng)建的制定異常類對象是程序創(chuàng)建的制定異常類對象由由throw語句拋出的異常也必須語句拋出的異常也必須由由try語句捕獲并處理語句捕獲并處理。395.2.3 拋出異常拋出異常 public void set(int age) throws Exception if (age0 & age0 &

25、age0 & age100) this.age = age; else throw new Exception (“IllegalAgeData:”); /拋出異常拋出異常 catch (Exception e e) System.out.println(e.toString(); /雖然捕獲到了異常但不能處理,雖然捕獲到了異常但不能處理,this.age仍沒有值仍沒有值 415.2.3 拋出異常拋出異常 2. 方法聲明拋出異常的方法聲明拋出異常的throws子句子句 如果一個方法的方法體將產(chǎn)生異常,而該方法體中如果一個方法的方法體將產(chǎn)生異常,而該方法體中不想不想處理處理或或不能處理該

26、異常不能處理該異常,則可以在方法聲明時,采用,則可以在方法聲明時,采用throws子句子句聲明該方法將拋出異常。聲明該方法將拋出異常。 修飾符修飾符 返回值類型返回值類型 方法方法(參數(shù)列表參數(shù)列表) throws 異常類異常類 /是方法要拋出的異常類,可以聲明多個是方法要拋出的異常類,可以聲明多個 例如:例如:public static int parseInt (String s) throws NumberFormatException425.2.3 拋出異常拋出異常 調(diào)用聲明拋出異常的方法,調(diào)用聲明拋出異常的方法,必須使用必須使用try語句捕獲并處理語句捕獲并處理指定異常類指定異常類,

27、否則編譯不通過。,否則編譯不通過。2. 方法聲明拋出異常的方法聲明拋出異常的throws子句子句 try temp count = Integer. parseInt (stri); count+; catch ( NumberFormatException e) System.out.println(“字符串字符串”+stri+“不能轉(zhuǎn)換為整數(shù),產(chǎn)生的異常類是不能轉(zhuǎn)換為整數(shù),產(chǎn)生的異常類是” +e. getClass(). getName(); throws子句的作用子句的作用是:是:聲明方法拋出指定異常,聲明方法拋出指定異常,則方法的調(diào)用者必須捕獲則方法的調(diào)用者必須捕獲并處理該指定異常,這樣并處理該指定異常,這樣實現(xiàn)了異常對象在方法之實現(xiàn)了異常對象在方法之間的傳遞。間的傳遞。435.2.3 拋出異常拋出異常 【例例5.6】聲明拋出異常的方法與方法調(diào)用者處理異常。聲明拋出異常的方法與方法調(diào)用者處理異常。 程序中,構(gòu)造方法和重載的程序中,構(gòu)造方法和重載的set()方法因為調(diào)用了方法因為調(diào)用了set(

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論