java異常處理的簡(jiǎn)單練習(xí)
異常的練習(xí):
老師用電腦上課。
開始思考上課中出現(xiàn)的問(wèn)題。
比如問(wèn)題是
電腦藍(lán)屏。
電腦冒煙。
要對(duì)問(wèn)題進(jìn)行描述,封裝成對(duì)象。
可是當(dāng)冒煙發(fā)生后,出現(xiàn)講課進(jìn)度無(wú)法繼續(xù)。
出現(xiàn)了講師的問(wèn)題:課時(shí)計(jì)劃無(wú)法完成。
class Teacher
{
private Computer cmp;
public void shangKe()throws NoPlanException /*聲明異常*/
{
cmp=new Computer();
try
{
cmp.run();
}
catch(LanPingException e) /*電腦捕獲處理藍(lán)屏的異常*/
{
cmp.recst();
}
catch(MaoYanException e) /*電腦捕獲處理電腦冒煙的異常*/
{
throw new NoPlanException("上課無(wú)法繼續(xù),因?yàn)?+e.getMessage()); /*電腦無(wú)法處理這個(gè)異常,繼續(xù)把這個(gè)異常拋給老師來(lái)處理*/
}
System.out.println("老師上課"); /*沒(méi)有異常,老師就正常上課*/
}
}
class LanPingException extends Exception /*自定義藍(lán)屏異常*/
{
LanPingException(String m)
{
super(m);
}
}
class MaoYanException extends Exception /*自定義電腦冒煙異常*/
{
MaoYanException(String m)
{
super(m);
}
}
class NoPlanException extends Exception /*自定義老師處理異常*/
{
NoPlanException(String m)
{
super(m);
}
}
class Computer
{
private int state=3; /*不同的異常狀態(tài)選擇*/
public void run()throws LanPingException,MaoYanException
{
if(state==2)
{
throw new LanPingException("電腦藍(lán)屏了"); /*符合條件就拋出異常對(duì)象*/
}
if(state==3)
{
throw new MaoYanException("電腦冒煙了");
}
System.out.println("電腦運(yùn)行");
}
public void recst()
{
System.out.println("電腦重啟");
}
}
class ExceptionText
{
public static void main(String args[])
{
Teacher t=new Teacher();
try
{
t.shangKe();
}
catch(NoPlanException e) /*老師捕獲處理電腦冒煙異常*/
{
System.out.println(e.toString());
}
}
}
運(yùn)行結(jié)果:
NoPlanException: 上課無(wú)法繼續(xù),因?yàn)殡娔X冒煙了
以上這篇java異常處理的簡(jiǎn)單練習(xí)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解SpringBoot構(gòu)建Docker鏡像的3種方式
這篇文章主要介紹了SpringBoot構(gòu)建Docker鏡像的3種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
JAVA錯(cuò)誤:'無(wú)效目標(biāo)發(fā)行版?17'的解決方案
這篇文章主要給大家介紹了關(guān)于JAVA錯(cuò)誤:'無(wú)效目標(biāo)發(fā)行版?17'的解決方案,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或使用java具有一的的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-09-09
JavaGUI事件監(jiān)聽機(jī)制超詳細(xì)講解
Java事件監(jiān)聽器是由事件類和監(jiān)聽接口組成,自定義一個(gè)事件前,必須提供一個(gè)事件的監(jiān)聽接口以及一個(gè)事件類。JAVA中監(jiān)聽接口是繼承java.util.EventListener的類,事件類繼承java.util.EventObject的類2023-03-03
SpringBoot之自定義Filter獲取請(qǐng)求參數(shù)與響應(yīng)結(jié)果案例詳解
這篇文章主要介紹了SpringBoot之自定義Filter獲取請(qǐng)求參數(shù)與響應(yīng)結(jié)果案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09
Spring Boot整合web層實(shí)現(xiàn)過(guò)程詳解
這篇文章主要介紹了Spring Boot整合web層實(shí)現(xiàn)過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04
Java 策略模式與模板方法模式相關(guān)總結(jié)
這篇文章主要介紹了Java 策略模式與模板方法模式相關(guān)總結(jié),幫助大家更好的理解和使用Java,感興趣的朋友可以了解下2021-01-01
Sonar編譯問(wèn)題對(duì)應(yīng):File [...] can''t be indexed twice.
今天小編就為大家分享一篇關(guān)于Sonar編譯問(wèn)題對(duì)應(yīng):File [...] can't be indexed twice.,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12
Java監(jiān)聽器三種實(shí)現(xiàn)方法代碼解析
這篇文章主要介紹了Java監(jiān)聽器三種實(shí)現(xiàn)方法代碼解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
java注解的類型知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家整理了一篇關(guān)于java注解的類型知識(shí)點(diǎn)總結(jié)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2021-03-03

