



版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、技術總結異常處異 常:異常:就是不正常。程序在運行時出現的不正常情況。其實就是程序中出現 。這個問題按照面 象 進行描述,并封裝成了對象。因為問題的產生有產生的原因、有問技術總結異常處異 常:異常:就是不正常。程序在運行時出現的不正常情況。其實就是程序中出現 。這個問題按照面 象 進行描述,并封裝成了對象。因為問題的產生有產生的原因、有問java 按照面 象的 將問題進行對象封裝。這樣就方便于操出現 有很多種,比如角標越界,空指針等都是。就對這些問題進行分類。而且這-Throwable:可拋出的|-Exception:異常,可以有針對性的處理方可拋性的體現:就是public ic void m
2、ain(String args) / byte buf = new /java.lang.OutOfMemoryError 內存溢出錯throws格式:throws 異常類名,異常類名.處理方式有兩種:1、捕捉;2、拋出try catch(異常類 變量名)catch (Exception e) /etrycatch (Exception e) /etryln(message:+e.getMessage();/獲取的是異常StackTrace();/打印異常在堆棧中信息;異常名稱+異常信息異常處理原則:功能拋出幾個異常,功能調用如果進行 try 處理,需要與之對應的 特殊情況:try 對應多個
3、catch 時,如果有父類的 catch 語句塊,一定要放在下面throw throwsthrowsthrows2:ExceptionRuntimeException,以及 可以處理,就用try;如果功處理不了,就必自定義異常:java 中沒有定義過 時,這時就需要 按照 java 異常建立 ,將項目的中的特有問題也進行對象的封裝。這個異常,稱為自定義異對于除法運算,0作為除數是不可以的。java中對這種問題用ArithmeticException是負數的部分java并沒有針對描述。所以2:throw 或者 throws2:throw 或者 throwsfinally 的幾種結合方式3fina
4、lly finally 集合只關閉資源System.exit(0); jvm,finallytrythrows。中,通過throw拋出RuntimeException異常或者其子類,這樣,子類的方法上是不需要 異常類體Java 語言中的異常類體系。為了方便對于這些可傳遞對象的管理,JavaAPIjava.lang.Throwable:ErrorErrorStackOverflowError 等。:ExceptionErrorStackOverflowError 等。:Exception在JavaAPI 中,了幾百個Exception 的子類分別來代表各種各樣的常見異常情況,這如果遇到的異常情況
5、,Java API 中沒有對應的異常類進行代表,也可以:RuntimeException越界異常ArrayIndexOutOfBoundsException 等。Exception異常,例如文件不存在異常FileNotFoundException 等。異常處理語法細則Java12異J2SEmain 方法,最終將顯示在控制臺。4JDKAPIJ2SEmain 方法,最終將顯示在控制臺。4JDKAPIJDKAPI拋出異*param value 需要轉換的自然數 param radix28returnpublicic String toString(if(value = 0)returnStringB
6、uffersnewStringBuffer(); temp; /余數while(value0)temp = value % radix; /取余數 s.insert(0,temp);添加到字符串緩沖區 value /= radix; /去掉余數return;System.out.pr 則程序的運行結果是:;System.out.pr 則程序的運行結果是: 這個結果在轉換的邏輯上就是錯誤的。這樣就因為其它程序員誤傳入 參數而出現了錯誤的結果。如果該方法作為實際項目的一個邏輯存在,則會由于該方法 導致后續其它的方法時傳入 參數這樣的異常情況時,將這種異常 出來,這就需要拋出異常的的代碼throwt
7、hrow new 或IllegalArgumentException e = new IllegalArgumentException(); throw e;該代碼書寫在方法或構造方法的 。該語法中,使用 throw 關鍵字,后續為代表對應異到調用該方法的位置。所以在該代碼下面不能直接書寫其它的代碼,因為這些代碼將 無throw new NullPo n = 10;param valueparam radix2returnpublic ic String if(value if(radix != 2 & radix != if(value = return StringBuffers=newS
8、tringBuffer(); temp; /余數while(value != 0)temp = valueradix;s.insert(0,temp);添加到字符串緩沖區 value /= radix; /去掉余數returns.insert(0,temp);添加到字符串緩沖區 value /= radix; /去掉余數return這里,當value 的值小于0 時,則拋出則程序的執行結果是: 1100hreadmainjava.lang.IllegalArgumentException: atThrowException.toString(ThrowException.java:22) at
9、 ThrowException.ma1100,如果參數不合法,則拋出異常,由于異常異常情況時,將這個異常 出來,使得該方法不會出現錯誤的結果。異常 語法細則異常雖然被拋出了,但是由于拋出異常的代碼是在方法或構造方法的 的,在調用方法或到被調用的結構可能出現的異常情況,這就是 異常的語法。副作用的說明,例如過敏者不能服用等,這些和 異常的語法在功能上是類似。throwspublic sic void test(n)throwsIllegalArgumentException,IOException public Test()throws IllegalArgumentExceptionthrow
10、s在throws語句之中書寫throws 語句,使得調用該方法或構造方法的程序高程序的穩定性。但是 異常以后,異常還是存在的,異常還沒有獲得處理,在異常體系/邏輯代catch(異常類名參數名/處理代try 語句塊 進行執行,這些代碼為可能拋catchcatch 語句塊 書寫出現try-catchtry 語句塊 的所有代碼,而 catch 語句塊 的代碼不會執行,如果在執行時發trycatch 語句塊中。Strings123; n =catch(NumberFormatException ln(該字符串無法轉換eger 類的parsepublic(Strings)throwss 轉換為 沒有發生
11、異常,則程序執行完 try 語句塊 的代碼,程序的運s”abcparse 方法執行時將NumberFormatExceptionparse 方法語句后續的 tryNumberFormatExceptioncatch 語句塊 ,然catch 語句塊 的代碼,則程序的執行結果是:catchcatch catch(1 catch(2catch(ncatchcatch catch(1 catch(2catch(nStrings=123; n char c = catch(NumberFormatException ln(catch(StringIndexOutOfBoundsException ln(
12、try-catch 語句塊的執行。String s = n char c = catch(Exception catch(NumberFormatException e)ln(catch(StringIndexOutOfBoundsException e)ln(Exception String s = 123;n char c = catch(NumberFormatException ln(catch(StringIndexOutOfBoundsException catch(Exception Exception String s = 123;n char c = catch(Number
13、FormatException ln(catch(StringIndexOutOfBoundsException catch(Exception ln(String s = n char c = catch(Exception 在實際使用時,由于try-catch的執行流程,使得無論是try語句塊還是catch語句塊都等,這樣如何在try語句塊和catch語句塊中都書寫則顯得重復,而且容易出現問題,這樣在異常處理的語法中專門設計了finally 語句塊來進行代碼的書寫。語法保證finally的代碼肯定獲得執行,即使在trycatchreturntry-catchtrytrytryfinally
14、finallycatch/邏輯finallycatch/邏輯代catch(異常類名參數/異常處理代 意 :try 語句塊 的代碼執行效率比較低。所以在書寫代碼時,只把可能出現異try 語句塊 。 語句塊的 ,如果拋出的異常屬于非 RuntimeExceptiontry 語句塊是一種常見的處理方式。JDKAPI 中提供的已有的異常類 實際的使用需要,則可以根據需要 自定Exception 或RuntimeExceptionException,則RuntimeException,則不強制必須被處理。當然,可以Exception 的子類。在編碼規范上,一般將異常類的類名命名為Exception,其中 用來代表該異常的作用。*publicclassMyExceptionextendsRuntimeExceptionStrings=ncatch(ExceptionStrings=ncatch(Exception*publicclassvoidmain(Stringargs) n = 0;public字n/輸出轉換后的結catch(ArrayIndexOutOfBoundsException catch(NumberFormatException /邏輯代/邏輯代cat
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 今年貴州省高考語文作文題
- 教學工作參考總結高二語文教學工作參考總結
- 1-1數字信號與數字電路概述
- 黑龍江省牡丹江市名校協作體2024-2025學年高二下學期3月月考數學試題【含答案】
- 山東現代學院《井巷施工技術》2023-2024學年第二學期期末試卷
- 江蘇省揚州市梅嶺市級名校2024-2025學年下學期初三期末檢測試題考試物理試題含解析
- 溫州肯恩大學《寫作訓練(Ⅱ)》2023-2024學年第二學期期末試卷
- 四川省鄰水實驗學校2025屆高三下學期適應性月考(一)語文試題含解析
- 邢臺應用技術職業學院《數字空間形態設計》2023-2024學年第一學期期末試卷
- 濟源職業技術學院《品牌衍生品設計》2023-2024學年第二學期期末試卷
- 控制性詳細規劃城市用地分類和代號
- 鐵路專用線設計規范(試行)(TB 10638-2019)
- 主題一+鞋子擦洗自己做+第二課時(課件)-甘肅教育出版社勞動三年級+下冊
- ISO 45003-2021職業健康安全管理-工作中的心理健康安全-社會心理風險管理指南(中文版)
- 三年級語文 寫通知(全國一等獎)
- 2020電網技術改造工程概算定額第五冊調試工程
- 起重機機械金屬結構
- 自然教育課程的追尋與實踐
- 諾如病毒診斷和治療
- 《無人機攝影測量》考試復習題庫(含答案)
- 職業健康與環境保護的重要性
評論
0/150
提交評論