日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第三次学JAVA再学不好就吃翔(part98)--自定义异常类

發布時間:2023/12/19 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第三次学JAVA再学不好就吃翔(part98)--自定义异常类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

學習筆記,僅供參考,有錯必糾


自定義異常類


自定義異常需要繼承Exception或者是RuntimeException,如果我們的自定義異常類繼承了Exception,則在方法上需要進行聲明,如果我們的自定義異常類繼承了RuntimeException,那么我們就不需要再方法上進行聲明。


  • 舉個例子

繼承Exception的自定義異常類:

package com.guiyang.restudy3;public class D8Exception {public static void main(String[] args) {Bunny b1 = new Bunny();try {b1.setAge(-10);} catch (AgeOutException e) {System.out.println(e.getMessage());}} }class AgeOutException extends Exception {//Alt + Shift + s 再加 cpublic AgeOutException() {super();}public AgeOutException(String message) {super(message);} }class Bunny {private int age;public Bunny() {super();}public Bunny(int age) {super();this.age = age;}public int getAge() {return age;}public void setAge(int age) throws AgeOutException {if (age > 0 && age <= 20) {this.age = age;} else {AgeOutException aoe = new AgeOutException("年齡不合法!");throw aoe;}} }

輸出:

年齡不合法!

繼承RuntimeException的自定義異常類:

package com.guiyang.restudy3; public class D8Exception {public static void main(String[] args) {Bunny b1 = new Bunny();try {b1.setAge(-10);} catch (AgeOutException e) {System.out.println(e);}} }class AgeOutException extends RuntimeException {//Alt + Shift + s 再加 cpublic AgeOutException() {super();}public AgeOutException(String message) {super(message);} }class Bunny {private int age;public Bunny() {super();}public Bunny(int age) {super();this.age = age;}public int getAge() {return age;}public void setAge(int age) {if (age > 0 && age <= 20) {this.age = age;} else {AgeOutException aoe = new AgeOutException("年齡不合法!");throw aoe;}} }

輸出:

com.guiyang.restudy3.AgeOutException: 年齡不合法!

異常注意事項


  • 異常注意事項
    • 子類重寫父類方法時,子類的方法必須拋出與父類相同的異常或父類異常的子類。
    • 如果父類拋出了多個異常,子類重寫父類時,只能拋出相同的異常或者是他的子集,子類不能拋出父類沒有的異常。
    • 如果被重寫的方法沒有異常拋出,那么子類的方法絕對不可以拋出異常,如果子類方法內有異常發生,那么子類只能try,不能throws
  • 如何使用異常處理
    • 原則:如果該功能內部可以將問題處理,用try,如果處理不了,則用throws

    • 區別

      • 后續程序需要繼續運行就try
      • 后續程序不需要繼續運行就throws
    • 如果JDK沒有提供對應的異常,需要自定義異常。

總結

以上是生活随笔為你收集整理的第三次学JAVA再学不好就吃翔(part98)--自定义异常类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。