<tt id="a3jom"></tt>
    1. <tt id="a3jom"><noscript id="a3jom"></noscript></tt>

        <tt id="a3jom"></tt>

        第5章異常處理PPT課件

        上傳人:無*** 文檔編號:190521279 上傳時間:2023-02-28 格式:PPT 頁數:30 大?。?17.50KB
        收藏 版權申訴 舉報 下載
        第5章異常處理PPT課件_第1頁
        第1頁 / 共30頁
        第5章異常處理PPT課件_第2頁
        第2頁 / 共30頁
        第5章異常處理PPT課件_第3頁
        第3頁 / 共30頁
        資源描述:

        《第5章異常處理PPT課件》由會員分享,可在線閱讀,更多相關《第5章異常處理PPT課件(30頁珍藏版)》請在裝配圖網上搜索。

        1、Java程序設計實用教程(第5版)第5章 1第第5章章 異常處理異常處理 5.1 異常處理基礎異常處理基礎 5.2 異常處理措施異常處理措施 Java程序設計實用教程(第5版)第5章 2第第5章章 異常處理異常處理內容和要求:內容和要求:1.發現各種程序錯誤,采取不同的手段排除錯誤。發現各種程序錯誤,采取不同的手段排除錯誤。2.理解異常處理機制的運行方式,掌握理解異常處理機制的運行方式,掌握Java異常異常的拋出、捕獲及處理方法。的拋出、捕獲及處理方法。3.熟悉自定義異常類在程序設計中的作用。熟悉自定義異常類在程序設計中的作用。重點:重點:掌握掌握try語句捕獲異常并處理。語句捕獲異常并處理。

        2、難點:難點:捕獲并處理異常,拋出異常、使異常在方捕獲并處理異常,拋出異常、使異常在方法間傳遞。法間傳遞。Java程序設計實用教程(第5版)第5章35.1 異常處理基礎異常處理基礎 5.1.1 異常處理機制的必要性異常處理機制的必要性1.面向過程語言錯誤處理方式的缺陷面向過程語言錯誤處理方式的缺陷不進行范圍檢查不進行范圍檢查int x10,i=10;xi=99;/執行,執行,x10賦值。賦值。邏輯錯邏輯錯,x10下標越界下標越界采用采用if語句進行事先判斷以防止出現錯誤。語句進行事先判斷以防止出現錯誤。n程序能處理的運行錯誤有:除數為程序能處理的運行錯誤有:除數為0和下標越界等;和下標越界等;i

        3、f(i=0&i10)/給定執行條件,事先判斷,避免下標越界錯誤給定執行條件,事先判斷,避免下標越界錯誤 xi=99;n不能處理的運行錯誤有:數值格式錯誤、文件不存在不能處理的運行錯誤有:數值格式錯誤、文件不存在 Java程序設計實用教程(第5版)第5章42.面向對象語言異常處理的思想面向對象語言異常處理的思想將程序正常代碼與錯誤處理代碼分開。將程序正常代碼與錯誤處理代碼分開。使程序具有處理運行錯誤的能力。使程序具有處理運行錯誤的能力。Java程序設計實用教程(第5版)第5章53.Java語言是安全的語言是安全的Java語言提供嚴密的語法規則。語言提供嚴密的語法規則。n放棄了全程變量、goto語

        4、句、宏替換、全局函數以及結構、聯合和指針 Java在編譯和運行時嚴格檢查錯誤。在編譯和運行時嚴格檢查錯誤。n數組下標越界 Java提供異常處理機制。提供異常處理機制。Java提供內存自動管理方式。提供內存自動管理方式。Java程序設計實用教程(第5版)第5章65.1.2 錯誤錯誤錯誤錯誤(Error)指程序運行時遇到的硬件、操作系統、)指程序運行時遇到的硬件、操作系統、虛擬機的錯誤。虛擬機的錯誤。Error錯誤類。錯誤類。NoClassDefFoundError類定義未找到錯誤。沒類定義未找到錯誤。沒有有.class文件,或沒有文件,或沒有main()方法時。方法時。OutOfMemoryEr

        5、ror內存溢出錯誤。沒有可用內存時。內存溢出錯誤。沒有可用內存時。StackOverflowError棧溢出錯誤。當遞歸函數不能正棧溢出錯誤。當遞歸函數不能正常結束時。常結束時。Java程序不能處理錯誤,只能依靠外界干預。程序不能處理錯誤,只能依靠外界干預。Java程序設計實用教程(第5版)第5章75.1.3 異常異常異常異常(Exception)指在硬件、操作系統、虛擬)指在硬件、操作系統、虛擬機正常時,程序遇到的運行錯(語義錯)。機正常時,程序遇到的運行錯(語義錯)。1.異常類(默認異常類(默認java.lang包)包)Java程序設計實用教程(第5版)第5章8異常類聲明異常類聲明publ

        6、ic class Throwable implements Serializable public String getMessage()/獲得異常信息獲得異常信息 public String toString()/獲得異常對象的描述信息獲得異常對象的描述信息 public void printStackTrace()/顯示異常棧跟蹤信息顯示異常棧跟蹤信息public class Exception extends Throwable public Exception()public Exception(String message)Java程序設計實用教程(第5版)第5章92.Runtime

        7、Exception運行異常類運行異常類(1)ArithmeticException3/0 /整除,除數為整除,除數為0,算術異常,算術異常3.0/0 /實數除,除數為實數除,除數為0,無窮大,無窮大(2)NullPointerException 空對象異??諏ο螽惓nt x=null;x0=1;/對空數組中的元素進行操作對空數組中的元素進行操作String str=null;str.length()/空對象調用方法空對象調用方法Java程序設計實用教程(第5版)第5章102.RuntimeException運行異常類運行異常類(3)ClassCastExceptionObject obj=n

        8、ew Object();String str=(String)obj;/類型強制轉換異常類型強制轉換異常問:什么情況下能夠進行類型強制轉換?問:什么情況下能夠進行類型強制轉換?【答答】只有當只有當obj引用引用String實例時,實例時,Object obj=abc;String str=(String)obj;Java程序設計實用教程(第5版)第5章112.RuntimeException運行異常類運行異常類(4)NegativeArraySizeExceptionint x=new int-1;/負數組長度異常負數組長度異常(5)ArrayIndexOutOfBoundsException

        9、int x=new int1;/數組下標越界異常數組下標越界異常x1=1;(6)StringIndexOutOfBoundsExceptionabc.charAt(-1)/字符串序號越界異常字符串序號越界異常Java程序設計實用教程(第5版)第5章12目的:即使算法正確,也會產生運行錯誤。目的:即使算法正確,也會產生運行錯誤。問:在什么情況下會產生怎樣的異常?問:在什么情況下會產生怎樣的異常?public static double average(int value)double sum=0.0;for(int i=0;ivalue.length;i+)sum+=valuei;return

        10、sum/value.length;【例例5.1】程序應避免的異常分析。程序應避免的異常分析。Java程序設計實用教程(第5版)第5章13public static double average(int value)/若若value=null,value.length和和valuei拋拋出空對象異常出空對象異常 if(value.length=0)/避免除數為避免除數為0錯誤錯誤 return 0.0;double sum=0.0;for(int i=0;ivalue.length;i+)/避免數組下標越界避免數組下標越界 sum+=valuei;return sum/value.length;

        11、/除數為除數為0錯誤錯誤【例例5.1】程序應避免的異常分析。程序應避免的異常分析。Java程序設計實用教程(第5版)第5章14【思考題思考題5-1】實現以下方法。實現以下方法。/求求value整數數組元素的加權平均值,整數數組元素的加權平均值,weight數組數組元素指定元素指定value數組相應元素的權值;數組相應元素的權值;/若若value元素個數為元素個數為0,返回,返回0.0;/若若weight為為null,默認權值為,默認權值為1,即求,即求value數組元數組元素的平均值;素的平均值;/若若weight數組元素個數不夠,默認權值為數組元素個數不夠,默認權值為1;若;若weight數

        12、組元素個數超過,忽略不用數組元素個數超過,忽略不用public static double weightedAverage(int value,int weight)Java程序設計實用教程(第5版)第5章15【思考題思考題5-1】輸出算式輸出算式weightedAverage(value,wight)=(10*10+20*11+30*12+40*13+50*14+60*15+70*1)/7=410.0weightedAverage(value,null)=(10*1+20*1+30*1+40*1+50*1+60*1+70*1)/7=40.0Java程序設計實用教程(第5版)第5章162.Ru

        13、ntimeException運行異常類運行異常類(7)NumberFormatException數值格式異常數值格式異常Integer類類public static int parseInt(String str)throws NumberFormatExceptionDouble類類public static double parseDouble(String str)throws NumberFormatException調用語句,必須處理異常。怎樣處理?調用語句,必須處理異常。怎樣處理?int i=Integer.parseInt(“123a);double x=Double.parse

        14、Double(123.45x);Java程序設計實用教程(第5版)第5章17異常處理方式異常處理方式1.程序應避免而不捕獲的異常,運行異常程序應避免而不捕獲的異常,運行異常除數為除數為0、數組下標越界等。、數組下標越界等。2.必須捕獲的異常。必須捕獲的異常。數值格式異常,如果沒有捕獲,由數值格式異常,如果沒有捕獲,由Java虛擬機虛擬機處理。處理。文件不存在、網絡連接中斷、數據庫連接中斷文件不存在、網絡連接中斷、數據庫連接中斷等,必須捕獲,否則編譯不能通過。等,必須捕獲,否則編譯不能通過。Java程序設計實用教程(第5版)第5章185.2 異常處理措施異常處理措施 n5.2.1 異常處理語句異

        15、常處理語句n5.2.2 拋出異常拋出異常n5.2.3 自定義異常類自定義異常類Java程序設計實用教程(第5版)第5章195.2.1 異常處理語句異常處理語句1.異常處理語句語法異常處理語句語法try 語句語句1;/存在潛在異常的代碼存在潛在異常的代碼catch(異常類異常類 異常對象異常對象)語句語句2;/捕獲到異常并進行處理的代碼捕獲到異常并進行處理的代碼finally 語句語句3;/最后必須執行的代碼,無論是否捕獲到異常最后必須執行的代碼,無論是否捕獲到異常Java程序設計實用教程(第5版)第5章20調用調用parseInt()方法的方法的異常處理語句異常處理語句 String str=

        16、123a;try int i=Integer.parseInt(str);/調用聲明拋出異常方法調用聲明拋出異常方法catch(NumberFormatException ex)/捕獲異常對象捕獲異常對象 System.out.println(str+字符串不能轉換為整數字符串不能轉換為整數);catch(Exception ex)/捕獲所有異常對象捕獲所有異常對象 ex.printStackTrace();/顯示異常棧跟蹤信息顯示異常棧跟蹤信息Java程序設計實用教程(第5版)第5章212.try語句執行流程語句執行流程 Java程序設計實用教程(第5版)第5章22【例例5.2】數值格式異常

        17、處理數值格式異常處理/返回字符串數組返回字符串數組str中的所有整數中的所有整數public static int getInts(String str)Java程序設計實用教程(第5版)第5章23【思考題思考題5-2】當不能將當不能將str按十進制轉換成整數時,將其按按十進制轉換成整數時,將其按十六十六進制轉換成整數。進制轉換成整數。/答答 當不能將當不能將str按十進制轉換成整數時,將其轉按十進制轉換成整數時,將其轉換成換成浮點數浮點數。Java程序設計實用教程(第5版)第5章245.2.2 拋出異常拋出異常1.拋出異常對象的拋出異常對象的throw語句語句throw 異常對象異常對象vo

        18、id set(int year,int month,int day)if(month12)throw new Exception(月份錯誤月份錯誤);Java程序設計實用教程(第5版)第5章252.方法聲明拋出異常的方法聲明拋出異常的throws子句子句修飾符修飾符 返回值類型返回值類型 方法方法(參數列表參數列表)throws 異常類列表異常類列表public static int parseInt(String s)throws NumberFormatException日期類聲明拋出異常的方法與方法調用者處理異常。日期類聲明拋出異常的方法與方法調用者處理異常。public void se

        19、t(int year,int month,int day)throws Exception public MyDate(int year,int month,int day)throws Exception this.set(year,month,day);public static void main(String args)throws ExceptionJava程序設計實用教程(第5版)第5章265.2.3 定義異常類定義異常類catch(Exception ex)/ex是是Exception異常對象,可引用所有異常實例異常對象,可引用所有異常實例 if(ex.getMessage().

        20、equals(月份錯誤月份錯誤)/使用使用ex異常信息識別異常對象異常信息識別異常對象 Java程序設計實用教程(第5版)第5章27【例例5.3】日期類的異常處理。日期類的異常處理。日期格式異常類日期格式異常類public class DateFormatException extends IllegalArgumentException MyDate類修改方法,拋出日期格式異常類類修改方法,拋出日期格式異常類,向調,向調用者傳遞異常用者傳遞異常public void set(int year,int month,int day)throws DateFormatException if()t

        21、hrow new DateFormatException(月份錯誤月份錯誤);Java程序設計實用教程(第5版)第5章28 調用方法處理異常,若不能處理則聲明拋出調用方法處理異常,若不能處理則聲明拋出 日期格式異常,再向調用者傳遞異常。日期格式異常,再向調用者傳遞異常。public MyDate(int year,int month,int day)throws DateFormatException this.set(year,month,day);/由由datestr字符串構造日期,默認日期字符串格式為字符串構造日期,默認日期字符串格式為yyyy年年MM月月dd日日 public MyDa

        22、te(String datestr)throws NumberFormatException,DateFormatException public static void main(String args)throws NumberFormatException,DateFormatException new MyDate(2017年年2月月29日日);Java程序設計實用教程(第5版)第5章29實驗實驗5 異常的拋出、捕獲并處理異常的拋出、捕獲并處理 n目的:目的:理解異常處理機制。理解異常處理機制。要求:要求:發現各種程序錯誤,采取不同的手發現各種程序錯誤,采取不同的手 段排除錯誤。段排除

        23、錯誤。重點:重點:掌握掌握try語句語句捕獲異常并處理。捕獲異常并處理。難點:難點:捕獲并處理異常,拋出異常、使異捕獲并處理異常,拋出異常、使異 常在方法間傳遞。常在方法間傳遞。Java程序設計實用教程(第5版)第5章30【實驗題實驗題5-1】修改例修改例3.7各圖形類的構造方法,各圖形類的構造方法,或參數不符合要求,拋出無效參數異常?;騾挡环弦?,拋出無效參數異常。/構造點,若構造點,若x或或y0,拋出無效參數異常,拋出無效參數異常public Point(int x,int y)throws IllegalArgumentException/以下構造矩形,若以下構造矩形,若length

        24、或或width0,拋出無效參數異常,拋出無效參數異常public Rectangle(Point point1,int length,int width)throws IllegalArgumentException/以下由三點構造一個三角形;當三點共線不能構成一個三角形時,拋出無效以下由三點構造一個三角形;當三點共線不能構成一個三角形時,拋出無效參數異常參數異常public Triangle(Point point1,Point point2,Point point3)throws IllegalArgumentException/以下構造多邊形,由以下構造多邊形,由points數組指定多點;若少于數組指定多點;若少于3點,或不能構成多邊形,點,或不能構成多邊形,拋出無效參數異常拋出無效參數異常public Polygon(Point points)throws IllegalArgumentException

        展開閱讀全文
        溫馨提示:
        1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
        2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
        3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
        4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
        5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
        6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
        7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
        關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

        網站客服QQ:2846424093或766697812

        copyright@ 2020-2023  zhuangpeitu.com 裝配圖網版權所有   聯系電話:0512-65154990  

        備案號:蘇ICP備12009002號-6   經營許可證:蘇B2-20200052  蘇公網安備:32050602011098


        本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!

        特级毛片a片全部免费播,特级毛片a片全部免费观看,特级毛片免费无码不卡观看,特级全黄a片高清视频

        <tt id="a3jom"></tt>
        1. <tt id="a3jom"><noscript id="a3jom"></noscript></tt>

            <tt id="a3jom"></tt>