Java如何自定义异常?
提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔
文章目錄
- 前言
- 一、異常分為哪幾種?
- 二、使用步驟
- 1.自定義異常
- 2.測試類
- 總結
前言
????????如果程序出現了問題,我們沒有做任何處理,最終JVM?會做默認的處理,處理方式有如下兩個步驟:把異常的名稱,錯誤原因及異常出現的位置等信息輸出在了控制臺程序停止執行。
- 程序從?try?里面的代碼開始執行
- 出現異常,就會跳轉到對應的?catch?里面去執行
- 執行完畢之后,程序還可以繼續往下執行
提示:以下是本篇文章正文內容,下面案例可供參考
一、異常分為哪幾種?
異常分為兩種,分別是編譯異常和運行時異常。
????????編譯時異常
- 都是Exception類及其子類
- 必須顯示處理,否則程序就會發生錯誤,無法通過編譯
????????運行時異常
- 都是RuntimeException類及其子類
- 無需顯示處理,也可以和編譯時異常一樣處理
????????
package com.xxgc.chop5_2.test;public class ExceptionDemo {public static void show4(){//把字符串轉換int類型String a="張三";int b=Integer.parseInt(a);//NumberF}//異常拋出public static void show3() throws ClassNotFoundException {Class.forName("Student");}public static void show2(){//運行時異常:程序運行的時候出現的異常,可以try//編譯時異常(非運行時異常):必須try catch 或者向上拋出try {Class.forName("Student");}catch (ClassNotFoundException e){e.printStackTrace();}}public static void show() {//制造一個異常,捕獲異常,處理異常try{int []nums={1,2};int n=10/0;int a=nums[3];}catch (ArrayIndexOutOfBoundsException e) {e.printStackTrace();System.out.println("數組下標出錯了");}catch (Exception e){e.printStackTrace();System.out.println("出錯了");}finally {//最終最后都要之心的代碼,一般完成資源釋放工作System.out.println("最終的!!!");}}public static void main(String[] args) {//trows:向上拋出異常,拋給方法的調用者//show3()方法向上拋出了異常,需要main方法解決//1.main方法解決了//2.main沒解決完,繼續向上拋,jvm(Java虛擬機)解決try {show3();} catch (ClassNotFoundException e) {throw new RuntimeException(e);}} }二、自定義異常
1.首先新建一個類
? ? ? ? 這個類是自定義異常的類,首先我們進行繼承idea的RuntimeException,其次建立有參和無參的方法。
代碼如下(示例):
package com.xxgc.ch06.po;public class MyException extends RuntimeException{public MyException(){}public MyException(String s){super(s);}}2.測試類
? ? ? ? 下面新建一個測試類,main方法和shou方法。在shou方法里定義一個int類型的a,進入if判斷a是否異常。
代碼如下(示例):
package com.xxgc.ch06.test;import com.xxgc.ch06.po.MyException;public class ThrowDemo {public static void show(){//如果a>10,拋出自己的異常int a=13;if (a>10){try {throw new MyException("不能大于10");}catch (MyException e){e.printStackTrace();System.out.println("出錯啦!"+e.getMessage());}}System.out.println("扶蘇");}public static void main(String[] args) {show();} }該處使用的idea軟件。
總結
這里對文章進行總結:
以上就是今天要講的內容,Java自定義異常需要新建一個類寫入有參無參方法,此類需要繼承idea的RuntimeException異常。下面就需要進行測試是否會顯示。
以下為運行結果:
com.xxgc.ch06.po.MyException: 不能大于10
?? ?at com.xxgc.ch06.test.ThrowDemo.show(ThrowDemo.java:11)
?? ?at com.xxgc.ch06.test.ThrowDemo.main(ThrowDemo.java:23)
出錯啦!不能大于10
扶蘇
進程已結束,退出代碼0
總結
以上是生活随笔為你收集整理的Java如何自定义异常?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python logo面向对象编程语言
- 下一篇: html li圆点单独颜色,如何修改h