java異常處理的簡(jiǎn)單練習(xí)
異常的練習(xí):
老師用電腦上課。
開(kāi)始思考上課中出現(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+Vue項(xiàng)目新手快速入門(mén)指南
最近剛剛做了一個(gè)基于vue+springboot的系統(tǒng),于是基于這點(diǎn),對(duì)遇到的一些問(wèn)題進(jìn)行一些配置的匯總,下面這篇文章主要給大家介紹了關(guān)于SpringBoot+Vue項(xiàng)目新手快速入門(mén)的相關(guān)資料,需要的朋友可以參考下2022-06-06
zuul集成Sentinel,完成對(duì)path映射的限流操作
這篇文章主要介紹了zuul集成Sentinel,完成對(duì)path映射的限流操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
淺談Java由于不當(dāng)?shù)膱?zhí)行順序?qū)е碌乃梨i
為了保證線(xiàn)程的安全,我們引入了加鎖機(jī)制,但是如果不加限制的使用加鎖,就有可能會(huì)導(dǎo)致順序死鎖(Lock-Ordering Deadlock)。本文將會(huì)討論一下順序死鎖的問(wèn)題。2021-06-06
java連接mysql數(shù)據(jù)庫(kù)學(xué)習(xí)示例
這篇文章主要介紹了java連接mysql數(shù)據(jù)庫(kù)學(xué)習(xí)示例,需要的朋友可以參考下2014-03-03
Java中List轉(zhuǎn)Map List實(shí)現(xiàn)的幾種姿勢(shì)
本文主要介紹了Java中List轉(zhuǎn)Map List實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
Spring Boot 之HelloWorld開(kāi)發(fā)案例
這篇文章主要介紹了Spring Boot 之HelloWorld開(kāi)發(fā)案例,需要的朋友可以參考下2017-04-04

