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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

學(xué)習(xí)筆記,僅供參考,有錯必糾


自定義異常類


自定義異常需要繼承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: 年齡不合法!

異常注意事項


  • 異常注意事項
    • 子類重寫父類方法時,子類的方法必須拋出與父類相同的異?;蚋割惍惓5淖宇?。
    • 如果父類拋出了多個異常,子類重寫父類時,只能拋出相同的異?;蛘呤撬淖蛹?#xff0c;子類不能拋出父類沒有的異常。
    • 如果被重寫的方法沒有異常拋出,那么子類的方法絕對不可以拋出異常,如果子類方法內(nèi)有異常發(fā)生,那么子類只能try,不能throws
  • 如何使用異常處理
    • 原則:如果該功能內(nèi)部可以將問題處理,用try,如果處理不了,則用throws

    • 區(qū)別

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

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。