亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Java異常處理原理與用法實(shí)例分析

瀏覽:104日期:2022-09-02 18:24:15

本文實(shí)例講述了Java異常處理原理與用法。分享給大家供大家參考,具體如下:

本文內(nèi)容: 異常的介紹 處理異常 斷言

首發(fā)日期:2018-03-26

異常: 異常是程序運(yùn)行中發(fā)生的錯(cuò)誤,比較常見的比如“除零異常”,如果一個(gè)除數(shù)為零,那么會(huì)發(fā)生這個(gè)異常 異常會(huì)影響程序的正常運(yùn)行,所以我們需要處理異常。 Java異常處理原理與用法實(shí)例分析 所有的異常類是從 java.lang.Exception 類繼承的子類。 異常類有兩個(gè)主要的子類:IOException 類和 RuntimeException 類。常見異常:

算術(shù)異常類:ArithmeticExecption

空指針異常類:NullPointerException

類型強(qiáng)制轉(zhuǎn)換異常:ClassCastException

數(shù)組下標(biāo)越界異常:ArrayIndexOutOfBoundsException

輸入輸出異常:IOException

處理異常: 異常的捕獲:try…catch…finally 格式:Java異常處理原理與用法實(shí)例分析 try代碼塊:里面放的是異常可能發(fā)生的代碼 catch代碼塊【可以有多個(gè)】:進(jìn)行捕獲異常的操作 e是捕獲的異常類對(duì)象,直接打印會(huì)得到字符串結(jié)果(包含異常的線程、類型、位置) e.getMessage():只返回異常的類型+原因 e.printStackTrace(): 異常的類型+原因+位置 e.toString():異常的類型+原因 finally【可選】:放的是無(wú)論發(fā)生異常與否都會(huì)執(zhí)行的代碼 異常類如果無(wú)法確定類型而準(zhǔn)確捕獲時(shí),可以捕獲成所有異常類的父類Exception 當(dāng)異常捕獲成功后,try…catch…finally代碼塊后面的代碼可以執(zhí)行成功。

Java異常處理原理與用法實(shí)例分析

Java異常處理原理與用法實(shí)例分析

public class Demo { public static void main(String[] args) {// int a=10/0; try{ int a=10/0; }catch(ArithmeticException e) { System.out.println('run in ArithmeticException '+e); //run in ArithmeticException java.lang.ArithmeticException: / by zero } catch (Exception e) { System.out.println(e); }finally { System.out.println('最終執(zhí)行的');//最終執(zhí)行的 } }} 異常的聲明:

throws用于聲明異常,聲明函數(shù)可能發(fā)生的異常。【當(dāng)函數(shù)中有throw來拋出異常時(shí),函數(shù)頭必須使用throws聲明異常】

拋出異常:

throw用于手動(dòng)拋出異常,可以拋出自定義異常信息:throw 異常類型(異常信息)

public class Demo2 { static int div(int a,int b) throws ArithmeticException{ if (b==0){ throw new ArithmeticException('發(fā)生除零異常了!'); } return a/b; } public static void main(String args[]) { try { System.out.println(div(2,0)); }catch(ArithmeticException e) { System.out.println(e.getMessage());//發(fā)生除零異常了! }finally { System.out.println('in finally');//in finally } System.out.println('after finally');//after finally }}

一般對(duì)于不想在函數(shù)中處理異常時(shí),一般采用異常拋出處理(throw throws);否則使用try…catch…finally捕獲異常。

自定義異常:

有時(shí)候沒有定義我們想要的異常(比如我們MYSQL連接異常),那么我們可以自定義異常。

所有異常都必須是 Throwable 的子類。 如果希望寫一個(gè)檢查性異常類(是一些編譯器會(huì)幫忙檢查的異常),則需要繼承 Exception 類。 如果你想寫一個(gè)運(yùn)行時(shí)異常類(異常比如說,數(shù)組下標(biāo)越界和訪問空指針異常),那么需要繼承 RuntimeException 類【這種異常類不需要throws】。

class MyException extends Exception{ public MyException() {} public MyException(String msg) { super(msg); }}public class Demo3 { static int div(int a,int b) throws MyException { if (b==0){ throw new MyException('發(fā)生異常了!'); } return a/b; } public static void main(String args[]) { try { System.out.println(div(2,0)); }catch(Exception e) { System.out.println(e);//異常.MyException: 發(fā)生除零異常了! } }}斷言: assertion(斷言)在軟件開發(fā)中是一種常用的調(diào)試方式 斷言一般是判斷條件是否符合來決定程序是否繼續(xù)執(zhí)行的。【比如,你要吃飯,那么assert一下飯到手了沒有,不然你可能會(huì)吃空氣】 斷言的開啟:eclipse、myeclipse的assert默認(rèn)是關(guān)閉,想開啟assert需要在設(shè)置perferences-》Java-》installed jres中配置一下虛擬機(jī)參數(shù),配置成-ea或者-enableassertionsJava異常處理原理與用法實(shí)例分析 Java中使用assert來定義斷言:格式:assert [boolean 表達(dá)式]

public class Demo { public static void main(String[] args) { Boolean food=false; System.out.println('準(zhǔn)備開始吃飯'); assert food;System.out.println('飯來了'); }}

Java異常處理原理與用法實(shí)例分析

更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O(shè)計(jì)入門與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》

希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 亚洲精品午夜久久久伊人 | 国产图片综合 | 国产一区二区fc2ppv在线播放 | 亚洲成人偷拍自拍 | 亚欧成人毛片一区二区三区四区 | 成人伊人亚洲人综合网站222 | 国产91精品系列在线观看 | 亚洲制服丝袜第一页 | aⅴ一区二区三区无卡无码 aⅴ在线免费观看 | 手机看片高清国产日韩片 | 欧美一级日韩一级 | 啪啪激情综合 | 免费区欧美一级毛片 | 一区二区播放 | 免费黄色短视频 | 国产综合婷婷 | 精品欧美激情在线看 | 久久一本日韩精品中文字幕屁孩 | 午夜在线亚洲 | 国产一级毛片卡 | 日本久久综合视频 | 国产xvideos在线观看 | 日本欧美韩国专区 | 区二区三区四区免费视频 | 成人性视屏 | 日日干天天草 | 911香蕉视频 | 日本xxx免费视频 | 五月婷婷综合色 | 人人爱爱人人 | 欧美成人免费全网站大片 | 国产精品片 | 久久综合九九亚洲一区 | 精品国内一区二区三区免费视频 | 国产精品久久久久毛片 | 96色视频 | 天堂tv亚洲tv日本tv欧美人tv | 黄网站视频观看免费 | 美女xx网站 | 欧美日韩国产另类在线观看 | 亚洲一级片在线观看 |