Java中try catch處理異常示例
?描述說(shuō)明:
public class TryCatchStu {
?/*try catch:自己處理異常
? *try{
? * 可能出現(xiàn)異常的代碼
? *}catch(異常類名A e){
? * 如果出現(xiàn)了異常類A類型的異常,那么執(zhí)行該代碼
? *}...(catch可以有多個(gè))
? *finally{
? * 最終肯定必須要執(zhí)行的代碼(例如釋放資源的代碼)
? *}
? *代碼執(zhí)行的順序:
? *1.try內(nèi)的代碼從出現(xiàn)異常的那一行開始,中斷執(zhí)行
? *2.執(zhí)行對(duì)應(yīng)的catch塊內(nèi)的代碼
? *3.繼續(xù)執(zhí)行try catch 結(jié)構(gòu)之后的代碼
? *注意點(diǎn):
? *1.如果catch內(nèi)的異常類存在子父類的關(guān)系,那么子類應(yīng)該在前,父類在后
? *2.如果finally中有return語(yǔ)句,那么最后返回的結(jié)果肯定以finally中的返回值為準(zhǔn)
? *3.如果finally語(yǔ)句中有return,那么沒有被處理的異常將會(huì)被吞掉
? *重寫的注意點(diǎn):
? *1.兒子不能比父親的本事大
? *2.兒子要比父親開放
? *3.兒子不能比父親惹更大的麻煩(子類的異常的類型不能是父類的異常的父類型)
? *異常類Api:
- ? *1.getMessage():獲取異常描述信息字符串
- ? *2.toString():返回異常類的包路徑和類名和異常描述信息字符串
- ? *3.printStackTrace():除了打印toString的信息外,還要打印堆棧信息
? */
實(shí)例代碼:
public static void main(String[] args) { System.out.println(demo()); } public static int demo(){ GirlHome gh = new GirlHome("小陳陳",'男',28); try{ gh.intoHome(); System.out.println("進(jìn)入了女生宿舍"); return 0; }catch(SexOutException e){ //System.out.println("出現(xiàn)了異常"); //System.out.println(e); e.demo(); e.printStackTrace(); }catch (AgeOutException e) { // TODO: handle exception }finally{ System.out.println("我必須被執(zhí)行"); } return 1; //System.out.println("愉快的一天結(jié)束啦"); } class GirlHome { public String name; public char sex; public int age; public GirlHome(String name,char sex,int age) { super(); this.name = name; this.sex = sex; this.age = age; } //如果發(fā)現(xiàn)進(jìn)入者是男的,那么拋出性別異常 public void intoHome() throws SexOutException,AgeOutException{ if(sex!='女'){ SexOutException se = new SexOutException(name+"你不是女的,滾!!!"); throw se; } if(age>25){ throw new AgeOutException(name+"你的年齡太大了,滾!!!!"); } System.out.println(name+"開心的進(jìn)入了宿舍"); } public void demo()throws Exception{} } class SmallGirlHome extends GirlHome{ public SmallGirlHome(String name, char sex, int age) { super(name, sex, age); // TODO Auto-generated constructor stub } @Override public void intoHome() throws SexOutException,AgeOutException { } public void demo() { } class AgeOutException extends Exception{ public AgeOutException(String message){ super(message); } } class SexOutException extends Exception{ public SexOutException(String message){ super(message); } public void demo(){ System.out.println("愛啦啦阿拉"); } }
到此這篇關(guān)于Java中try catch基本用法的文章就介紹到這了,更多相關(guān)Java中try catch用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中notify和notifyAll的區(qū)別及何時(shí)使用
本文主要介紹了Java中notify和notifyAll的區(qū)別及何時(shí)使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09java 實(shí)現(xiàn)反射 json動(dòng)態(tài)轉(zhuǎn)實(shí)體類--fastjson
這篇文章主要介紹了java 實(shí)現(xiàn)反射 json動(dòng)態(tài)轉(zhuǎn)實(shí)體類--fastjson,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02使用Spring Boot實(shí)現(xiàn)操作數(shù)據(jù)庫(kù)的接口的過(guò)程
本文給大家分享使用Spring Boot實(shí)現(xiàn)操作數(shù)據(jù)庫(kù)的接口的過(guò)程,包括springboot原理解析及實(shí)例代碼詳解,感興趣的朋友跟隨小編一起看看吧2021-07-07普通對(duì)象使用spring容器中的對(duì)象的實(shí)現(xiàn)方法
這篇文章主要介紹了普通對(duì)象使用spring容器中的對(duì)象的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06Maven的國(guó)內(nèi)鏡像(快速解決jar下載過(guò)慢的問(wèn)題)
下面小編就為大家?guī)?lái)一篇Maven的國(guó)內(nèi)鏡像(快速解決jar下載過(guò)慢的問(wèn)題)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06Java中垃圾回收器GC對(duì)吞吐量的影響測(cè)試
這篇文章主要介紹了Java中垃圾回收器GC對(duì)吞吐量的影響測(cè)試,本文算是一個(gè)對(duì)垃圾回收器GC的優(yōu)化文章,需要的朋友可以參考下2014-09-09淺談Java分布式架構(gòu)下如何實(shí)現(xiàn)分布式鎖
這篇文章主要介紹了淺談Java分布式架構(gòu)下如何實(shí)現(xiàn)分布式鎖,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07JAVA實(shí)現(xiàn) springMVC方式的微信接入、實(shí)現(xiàn)消息自動(dòng)回復(fù)實(shí)例
本篇文章主要介紹了JAVA實(shí)現(xiàn) springMVC方式的微信接入、實(shí)現(xiàn)消息自動(dòng)回復(fù),這里整理了詳細(xì)的代碼,有需要的小伙伴可以參考下。2016-12-12