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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java如何自定义异常?

發(fā)布時間:2024/3/24 java 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java如何自定义异常? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔

文章目錄

  • 前言
  • 一、異常分為哪幾種?
  • 二、使用步驟
    • 1.自定義異常
    • 2.測試類
  • 總結(jié)


前言

????????如果程序出現(xiàn)了問題,我們沒有做任何處理,最終JVM?會做默認的處理,處理方式有如下兩個步驟:把異常的名稱,錯誤原因及異常出現(xiàn)的位置等信息輸出在了控制臺程序停止執(zhí)行。

  • 程序從?try?里面的代碼開始執(zhí)行
  • 出現(xiàn)異常,就會跳轉(zhuǎn)到對應的?catch?里面去執(zhí)行
  • 執(zhí)行完畢之后,程序還可以繼續(xù)往下執(zhí)行

提示:以下是本篇文章正文內(nèi)容,下面案例可供參考

一、異常分為哪幾種?

異常分為兩種,分別是編譯異常運行時異常

????????編譯時異常

  • 都是Exception類及其子類
  • 必須顯示處理,否則程序就會發(fā)生錯誤,無法通過編譯

????????運行時異常

  • 都是RuntimeException類及其子類
  • 無需顯示處理,也可以和編譯時異常一樣處理

????????

package com.xxgc.chop5_2.test;public class ExceptionDemo {public static void show4(){//把字符串轉(zhuǎn)換int類型String a="張三";int b=Integer.parseInt(a);//NumberF}//異常拋出public static void show3() throws ClassNotFoundException {Class.forName("Student");}public static void show2(){//運行時異常:程序運行的時候出現(xiàn)的異常,可以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("數(shù)組下標出錯了");}catch (Exception e){e.printStackTrace();System.out.println("出錯了");}finally {//最終最后都要之心的代碼,一般完成資源釋放工作System.out.println("最終的!!!");}}public static void main(String[] args) {//trows:向上拋出異常,拋給方法的調(diào)用者//show3()方法向上拋出了異常,需要main方法解決//1.main方法解決了//2.main沒解決完,繼續(xù)向上拋,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軟件。


總結(jié)

這里對文章進行總結(jié):
以上就是今天要講的內(nèi)容,Java自定義異常需要新建一個類寫入有參無參方法,此類需要繼承idea的RuntimeException異常。下面就需要進行測試是否會顯示。

以下為運行結(jié)果:

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
扶蘇

進程已結(jié)束,退出代碼0

總結(jié)

以上是生活随笔為你收集整理的Java如何自定义异常?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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