更新時間:2020-08-03 15:12:13 來源:動力節點 瀏覽2297次
Java自定義異常
示例1:創建自定義異常
一個英雄攻擊另一個英雄的時候,如果發現另一個英雄已經掛了,就會拋出EnemyHeroIsDeadException
創建一個類EnemyHeroIsDeadException,并繼承Exception
提供兩個構造方法
無參的構造方法
帶參的構造方法,并調用父類的對應的構造方法
class?EnemyHeroIsDeadException?extends?Exception{
?public?EnemyHeroIsDeadException(){
?}
?public?EnemyHeroIsDeadException(String?msg){
?super(msg);
?}
}
示例2:拋出自定義異常
在Hero的attack方法中,當發現敵方英雄的血量為0的時候,拋出該異常
創建一個EnemyHeroIsDeadException實例
通過throw拋出該異常
當前方法通過throws拋出該異常
在外部調用attack方法的時候,就需要進行捕捉,并且捕捉的時候,可以通過e.getMessage()獲取當時出錯的具體原因
package?charactor;
public?class?Hero?{
?public?String?name;
?protected?float?hp;
?public?void?attackHero(Hero?h)?throws?EnemyHeroIsDeadException{
?if(h.hp?==?0){
?throw?new?EnemyHeroIsDeadException(h.name?+?"?已經掛了,不需要施放技能"?);
?}
?}
?public?String?toString(){
?return?name;
?}
?
?class?EnemyHeroIsDeadException?extends?Exception{
?
?public?EnemyHeroIsDeadException(){
?
?}
?public?EnemyHeroIsDeadException(String?msg){
?super(msg);
?}
?}
?
?public?static?void?main(String[]?args)?{
?
?Hero?garen?=?new?Hero();
?garen.name?=?"蓋倫";
?garen.hp?=?616;
?Hero?teemo?=?new?Hero();
?teemo.name?=?"提莫";
?teemo.hp?=?0;
?
?try?{
?garen.attackHero(teemo);
?
?}?catch?(EnemyHeroIsDeadException?e)?{
?//?TODO?Auto-generated?catch?block
?System.out.println("異常的具體原因:"+e.getMessage());
?e.printStackTrace();
?}
?
?}
}
Java異常簡介:http://www.dabaquan.cn/tutorial_java_advance/613.html
Java異常處理:http://www.dabaquan.cn/tutorial_java_advance/614.html
以上就是動力節點java培訓機構的小編針對“編程基礎Java異常處理,自定義異常”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習