深入java 自定義異常以及常用
上一篇文章總結了java的異常用法,常見得java異常以及例子說明。這一篇文章我們繼續深入,瞭解自定義java異常以及常用的異常記錄工具。更多的原始碼請訪問我的github:https://github.com/yangsheng20080808/deepIntoJava
原創不易,轉載請宣告出處。
本文分為2大部分
- 為什麼沒必要自定義編譯異常CheckedException
- 自定義java異常
- 常用的異常記錄工具
為什麼沒必要自定義編譯異常CheckedException
當我們開始熟練的開始使用java異常的時候,其實這個時候,我們還可以定義自己的異常,我們最好只定義繼承Exception和RuntimeException(待會跟大家說一下為什麼也不需要去繼承RuntimeException),當然,編譯異常你也可以繼承,但是你繼承了編譯異常也沒有用呀
舉例說明吧:
大家應該看得很清楚,MyException(子)是FileNotFoundException(父)的子類,但是我們在filter = new FileReader(path);的時候,丟擲的是MyException的父類FileNotFoundException的物件,大家應該都知道強制向下造型是有風險的,當然,JVM這裡當然也不可能讓你向下造型去匹配。
我們新增獲取的目標:
執行結果:
我們只匹配上了我們的父類物件。而沒有匹配上我們的MyException。
自定義java異常
為什麼要自定義java異常
我覺得是從程式的健壯性和友好性出發的,我們自定義的異常,可以在程式執行的時候給我們使用者更好的異常提示,而且這些異常是符合我們自己定義的場景。
直接舉例說明(我覺得真的有用的繼承是Exception和RuntimeException:但是一般RuntimeException是程式在執行的時候:要麼是系統異常。無法處理。例如網路問題。我們根本沒有辦法處理。那有什麼必要去處理呢?!!!):
最後:我們只有Exception和Throwable是有必要去複寫的。
執行結果:
常用的日誌記錄工具
我們可以使用一些第三方的日誌工具去記錄程式中出現的異常:
推薦大家幾個工具,具體怎麼使用,以後再單獨寫一篇文章總結:
log4j,log4j2
相關推薦
深入java 自定義異常以及常用
上一篇文章總結了java的異常用法,常見得java異常以及例子說明。這一篇文章我們繼續深入,瞭解自定義java異常以及常用的異常記錄工具。更多的原始碼請訪問我的github:https://github.com/yangsheng20080808/deepIntoJava
java自定義異常以及throw和throws關鍵字
java中內建了很多可能在程式設計時出現的大部分異常。除此之外,使用者可以使用一個類繼承Exception類即可繼承自定義類異常。 在程式中自定義類,大體上分為以下幾個步驟: 建立自定義異常類 在方法中通過throw關鍵字丟擲異常物件。 如果在當前丟擲異常的方法中處理異常,
java自定義異常類以及全域性log列印
import lombok.Data; /** * @author 01369526 * */ @Data @SuppressWarnings("serial") public class MyException extends RuntimeExcep
Java自定義異常
trace tex logs fin rate cat java自定義異常 leg pan package cn.Douzi.Lab7_4; public class Triangle { int a, b, c; publ
java自定義異常(列舉)
public class SimpleException extends RuntimeException { private String msg ; private StatusCode statusCode ; public SimpleEx
java自定義異常處理類
/*** * 為什麼使用自定義異常? * 更加精確定位具體異常資訊 * * 繼承RuntimeException,實現RuntimeException的所有構造方法,就是一種自定義異常類 * */ public class ServiceException extends Runti
Java自定義異常與異常使用最佳實踐
異常的分類 1. 非執行時異常(Checked Exception) Java中凡是繼承自Exception但不是繼承自RuntimeException的類都是非執行時異常。 2. 執行時異常(Runtime Exception/Unchecked Exce
摘自《java 2 實用教程》 java自定義異常類
class BankException extends Exception { String message; public BankException(int m, int n) { message = "入賬資金" + m + "是負數或者支出" + n +
java自定義註解以及原理
import java.util.Arrays; import java.util.List; import com.puhui.flowplatform.manage.filter.RightFilter; import org.springframework.aop.BeforeAdvice; impo
Java自定義異常(優雅的處理異常)
(本文較長,精華部分直接下拉)在複雜業務環境下,java自帶的異常可能滿足不了我們業務的需求, 這個時候我們可以自定義異常來進行對業務異常的處理;首先,我們先對異常進行基本的解釋:Throwable是所有Java程式中錯誤處理的父類 ,有兩種子類:Error和Exceptio
springboot下全域性異常處理和自定義異常以及自定義返回值
1.介紹 全域性異常處理,是mvc的一個新特性,避免大量的重複程式碼 自定義異常 , 方便使用,丟擲自己定義好的異常,配合全域性異常處理使用,效果更佳 自定義返回值,類似異常,返回自己定義的返回值 2.全域性異常處理重點知識 1. 新建一
Java自定義異常理解
前言:看了許多部落格和書,都對自定異常一筆帶過,總讓人感覺莫名奇妙,一直在問自己一個問題,我們能很好的解決異常就很不錯了,為什麼還要自己自定義異常,讓自己去自找麻煩呢?後來我才理解自定義異常有自己的妙用。 Java錯誤與異常的基本概念: 1.java中異常均繼承自Throw
Java自定義註解以及模擬單元測試
一、自定義註解1.編寫自定義註解類 @MyTestpackage com.itheima.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; i
java自定義異常(runtimeException)
Throwable / \ Error Exception / /
java自定義異常類
簡單介紹一下java中自定義異常類的使用 背景:這裡我簡單模擬登陸操作,檢測到密碼不正確則丟擲異常 自定義異常類的使用步驟如下: 1、自定義異常類繼承Exception類 /** * 自定義異常類 */ public class MyExcept
Java 自定義異常類
/* * 自定義異常類 * sun提供了很多的異常類給我們用於描述程式中各種的不正常情況,但是sun給我提
Java IO流中的異常處理以及自定義異常例項
文章目錄 異常 自定義異常例項 finally中特殊情況例項 異常 1、 Throwable類 a) 嚴重問題:Error,比如說記憶體不夠,一般程式中不進
Java IO流中的異常處理以及自定義異常例項
異常 1、 Throwable類 a) 嚴重問題:Error,比如說記憶體不夠,一般程式中不進行處理 b) 問題:Exception i. 編譯期問題:不是RunTimeException的異常,不處理編譯不能通過,因此必須處理 ii. 執行期問題
課堂動手動腦驗證以及自定義異常類實現對異常處理——java異常類
異常(exception):發生在程式執行期間,表明出現了一個非法執行的情況。許多JDK中的方法在檢測到非法情況時,都會丟擲一個異常物件。例如:陣列越界和被0除。 程式碼驗證: package test; import javax.swing.*; class AboutException { p
java基礎--自定義異常使用練習
heron dex oat try ssa color epo 原因 str 個人認為首先要知道兩點: 1.異常的父類為 Throwable 2.錯誤、異常總共分為三類,但需要程序處理的只有一種 現在寫一個小例子: 需求:敵我雙方各自英雄進行攻擊,如果某方生命值達到0