




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
C#程序設計
第2章C#語言基礎2了解什么是異常,以及C#的異常處理機制了解C#常用的異常類掌握try、catch和finally關鍵字處理異常掌握throw關鍵字拋出異常掌握自定義異常學習目的與要求:3什么是異常異常處理的方法拋出異常自定義異常★4為什么要異常處理 inta,b;Console.Write("請輸入被除數:");a=int.Parse(Console.ReadLine());Console.Write("請輸入除數:");b=int.Parse(Console.ReadLine());intc;c=a/b;Console.WriteLine("{0}/{1}={2}",a,b,c);5處理C#中的異常異常:程序在執行過程中發生的錯誤。常見的異常文件找不到文件操作權限不足網絡無法連接數組越界算術除0在C#中,當出現某種異常時,就會創建一個異常對象6ArgumentException參數錯誤:方法的參數無效ArgumentNullException參數為空:給方法傳遞一個不可接受的空參數ArithmeticException數學計算錯誤:由于數學運算導致的異常,覆蓋面廣DivideByZeroException被0除FormatException參數的格式不正確IndexOutOfRangeException索引超出范圍,小于0或比最后一個元素索引大NullReferenceException引用為null的對象StackOverflowException堆棧已滿OverflowException溢出OutOfMemoryException無法為新語句分配內存時引發異常,內存不足InvalidCastException非法強制轉換,顯示轉換失敗時引發EndOfStreamException讀到文件末尾而引發的。7什么是異常異常處理的方法拋出異常自定義異常★8異常處理異常處理:在運行時跟蹤這些異常,并編寫代碼控制結果被稱為“異常處理”。異常處理的形式形式一:單catch分支try{//待監測代碼,此段代碼若出現異常,
//則程序流程轉到catch分支}catch(Exceptione){
//異常處理代碼}形式二:多catch分支try{//待監測代碼,此段代碼若出現異常,
//則程序流程轉到catch分支}catch(ExceptionType1e){
//異常處理代碼}catch(ExceptionType2e){
//異常處理代碼}形式三:單catch配finallytry{//待監測代碼,此段代碼若出現異常,
//則程序流程轉到catch分支}catch(Exceptione){
//異常處理代碼}finally{
//善后處理代碼,無論是否出異常都會執行,即使catch塊有return也是如此}形式四:多catch配finallytry{//待監測代碼,此段代碼若出現異常,
//則程序流程轉到catch分支}catch(ExceptionTyp1e){
//異常處理代碼}catch(ExceptionTyp2e){
//異常處理代碼}finally{
//善后處理代碼,無論是否出異常都會執行,即使catch塊有return也是如此}形式五:無catchtry{//待監測代碼,此段代碼若出現異常,
//則程序流程轉到外層catch分支}finally{
//善后處理代碼,無論是否出異常都會執行,即使catch塊有return也是如此}9異常處理try塊包含的代碼組成了程序的正常操作部分,但可能遇到某些嚴重的錯誤情況。catch塊包含的代碼處理各種錯誤情況,這些錯誤是try塊中的代碼執行時遇到的。finally塊包含的代碼清理資源或執行要在try塊或catch塊末尾執行的其他操作。控制總是傳遞給finally塊,與try塊的退出方式無關。引出e.message與e.tostring()try只有1個;finally只有1個或0個catch可以有0個(必須有一個finally),可以有多個10異常處理在catch多分支中需要注意各異常類型的順序:先具體化異常,再一般性異常。catch塊中有application.exit()或enviroment.exit(0)語句時,finally塊不會執行catch塊后沒有參數時可以處理所有異常,包括exception及其它語言發生的異常。引出e.message與e.tostring()11System.Exception的常用屬性
System.Exception的常用屬性
屬
性說
明HelpLink鏈接到一個幫助文件上,以提供該異常的更多信息Message描述錯誤情況的文本Source導致異常的應用程序或對象名StackTrace堆棧上方法調用的信息,它有助于跟蹤引發異常的方法TargetSite引發異常的方法的.NET反射對象InnerException如果異常是在catch塊中引發的,它就會包含把代碼發送到catch塊中的異常對象12為什么要異常處理 try{… }catch(FormatExceptione){ Console.WriteLine(e.Message); }catch(DivideByZeroExceptione){ Console.WriteLine(""+e.Message); }finally{Console.WriteLine("Test方法的finally");}13什么是異常異常處理的方法拋出異常自定義異常★14異常的拋出拋出異常:用來通知有錯誤出現了。throw
語句用于發出在程序執行期間出現反常情況(異常)的信號。引發的異常是一個對象,該對象的類是從System.Exception派生的。通常throw語句與try-catch或try-finally語句一起使用。當引發異常時,程序查找處理此異常的catch語句。也可以用throw語句重新引發已捕獲的異常。 … catch(FormatExceptione){ Console.WriteLine(e.Message); throwe;//或
throw;//必須和catch塊一起用,拋出當前異常
thrownewException(“必須是數值字符串!"); }…15什么是異常異常處理的方法拋出異常自定義異常★16自定義異常定義一個異常處理類,并在出現這種異常的時候使用throw關鍵字引發此異常。自定義異常可以解決與業務相關的意外情況一般繼承自ApplicationException,也可以繼承自ExceptionclassMyException:Exception{
//兩個構造函數publicMyException():base(){}publicMyException(stringsMsg):base(sMsg){}
//重寫message屬性publicoverridestringMessage{get{return"對不起出錯了"+base.Message;}}} if(c<2)thrownewMyException("這是故意引發的異常");…17嵌
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CWAN 0035-2021機器人型鋼切割生產線
- T/CSMT-DZ 005-2023顯示用量子點材料性能測試方法
- T/CSBME 050-2022宮頸液基細胞人工智能醫療器械質量要求和評價第1部分:數據集要求
- T/CMES 37001-2022小型游樂設施制造單位能力條件要求
- T/CIE 186-2023業務研發安全運營一體化能力成熟度模型
- T/CI 387-2024裝配式橋梁下部結構施工技術規范
- T/CHTS 20035-2023噴射混凝土用晶膠改性聚合物
- T/CHTS 10097-2023雄安新區高速公路項目兩區建設技術指南
- T/CGCC 8-2017自熱方便菜肴制品
- T/CEPPEA 5025-2023供配電工程總承包管理規范
- 空白教案模板(表格形式-已排版)
- 通信原理ch9-1-抽樣課件
- 工程經濟學項目經濟評價案例分析
- 最全深圳市工改工案例分析
- 信托行業信息化系統技術白皮書
- 在市財政系統警示教育暨作風建設大會上的講話
- 《管理信息系統》課程設計報告范文
- GB∕T 37821-2019 廢塑料再生利用技術規范
- 測量學地形圖的基本知識培訓講義PPT(講解)
- 自控實驗三線性定常系統的穩態誤差
- 特種設備作業人員考試中心質量管理手冊(共31頁)
評論
0/150
提交評論