免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

java中如何自定義異常打印內容-創新互聯

這篇文章給大家介紹java中如何自定義異常打印內容,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

創新互聯建站專注于涵江網站建設服務及定制,我們擁有豐富的企業做網站經驗。 熱誠為您提供涵江營銷型網站建設,涵江網站制作、涵江網頁設計、涵江網站官網定制、微信小程序服務,打造涵江網絡公司原創品牌,更為您提供涵江網站排名全網營銷落地服務。

1.自定義異常打印內容

可以看到,雖然我們使用的是自定義異常,但是當拋出時,還是會打印出堆棧的全部信息。

2.查看源碼

通過查看源碼,我們可以得知,當拋出異常時,程序會調用此異常的fillInStackTrace方法,但是,大部分異常都沒有對該方法做處理。基本是調用super的方法。

可以看到,此方法的父類實現,是在Throwable類中。而且此方法加了synchronized鎖,查看堆棧的信息。那么必然會影響性能。

底層實現是native,調用C語言的方法。

3.解決方法

①.編寫自定義異常

// 此處為lombok注解@Getter@AllArgsConstructorpublic enum ExceptionEnum {  AUTH(1, "認證異常")  ;  private Integer code;  private String msg;}public class AppException extends RuntimeException {  public AppException(ExceptionEnum exceptionEnum) {    super(exceptionEnum.getMsg());  }    // 關鍵  @Override  public Throwable fillInStackTrace() {    return this;  }  public static void main(String[] args) {    throw new AppException(ExceptionEnum.AUTH);  }}

②.重寫fillInStackTrace方法

重寫該方法后,會只打印第一條信息,這樣不僅可以節省日志空間,方便查看,更可以提高部分性能。

@Override  public Throwable fillInStackTrace() {    return this;  }

③.打印內容

可以看到,打印內容明顯變少

關于java中如何自定義異常打印內容就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

分享題目:java中如何自定義異常打印內容-創新互聯
文章URL:http://m.newbst.com/article22/dsojcc.html

成都網站建設公司_創新互聯,為您提供靜態網站定制開發網站設計公司網站排名品牌網站設計小程序開發

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網頁設計公司