跳到主要內容

Java 異常(二) 自定義異常_台中搬家公司


※推薦台中搬家公司優質服務,可到府估價



台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家


 Java 異常(二) 自定義異常


在開發中,為了適應業務的開發需求, 在 Java 中可以根據業務的異常情況自定義異常。


一、自定義異常


所有的自定義異常都必須是 Throwable 的子類,在自定義繼承時可以繼承於 Exception 或者它的子類。


台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!



還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」




二、自定義異常的分類


1、檢查性異常類:自定義異常類繼承於Exception。


2、運行時異常類:自定義異常類繼承於RuntimeException


三、Objects的非空判斷


Objects由一些靜態的實用方法組成,這些方法是null-save(空指針安全的)或 null-tolerant(容忍空指針的),那麼在它的源碼中,對對象為null的值進行了拋出異常操作。Objects通過調用requireNonNull(T obj)方法查看調用對象是否為null。


public static <T> T requireNonNull(T obj) {
  if (obj == null)
    throw new NullPointerException();
  return obj;
}

從上面源碼可以看出,如果傳遞對象為 null,requireNonNull 方法會拋出 NullPointerException 異常,否則返回該對象。


四、實例


1、自定義檢查性異常類(MyException)


public class MyException extends Exception {

public MyException() { } // 無參構造

public MyException(String msg) {
super(msg); // msg : 異常提示信息
}

public MyException(Throwable throwable) {
super(throwable);// throwable 類型
}
}

2、自定義運行時異常類(MyRuntimeException)


public class MyRuntimeException extends RuntimeException {
public MyRuntimeException() { } // 無參構造

public MyRuntimeException(String msg) {
super(msg); // msg : 異常提示信息
}

public MyRuntimeException(Throwable throwable) {
super(throwable);// throwable 類型
}
}

3、自定義異常的使用實例


public class ExceptionDemo {
public static void main(String[] args) throws Exception {
int i = demo(3);
System.out.println(
"i = " + i);
}

public static int demo(int index) throws MyException{
int[] arr = {1,2,3};
if(index >= arr.length || index < 0)
throw new MyRuntimeException("您傳遞的索引錯誤,數組索引在0-2之間");
return arr[index];
}
}

 4、Objects的非空判斷實例


public static void main(String[] args) throws Exception {
Integer i
= 10;
Integer i2
= Objects.requireNonNull(i);
System.out.println(i2);
}
本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!



還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」





Orignal From: Java 異常(二) 自定義異常_台中搬家公司

留言

這個網誌中的熱門文章

.NET Core前後端分離快速開發框架(Core.3.0+AntdVue)

.NET Core前後端分離快速開發框架(Core.3.0+AntdVue) 目錄 引言 時間真快,轉眼今年又要過去了。回想今年,依次開源發布了 Colder.Fx.Net.AdminLTE(254Star) 、 Colder.Fx.Core.AdminLTE(335Star) 、 DotNettySocket(82Star) 、 IdHelper(47Star) ,這些框架及組件都是本着以實際出發,實事求是的態度,力求提高開發效率(我自己都是第一個使用者),目前來看反響不錯。但是隨着前端和後端技術的不斷變革,尤其是前端,目前大環境已經是前後端完全分離為主的開發模式,在這樣的大環境和必然趨勢之下,傳統的MVC就顯得有些落伍了。在這樣的背景下,一款前後端分離的.NET開發框架就顯得尤為必要,由此便定了框架的升級目標: 前後端分離 。 首先後端技術的選擇,從目前的數據來看,.NET Core的發展遠遠快於.NET Framework,最簡單的分析就是Colder.Fx.Core.AdminLTE發布比Colder.Fx.Net.AdminLTE晚,但是星星卻後來居上而且比前者多30%,並且這個差距在不斷擴大,由點及面的分析可以看出我們廣大.NET開發人員學習的熱情和积極向上的態度,並不是某些人所認為的那麼不堪( 走自己的路,讓別人說去吧 )。大環境上微軟积極擁抱開源,大力發展.NET Core, 可以說前途一片光明。因此後端決定採用 .NET Core3.0 ,不再浪費精力去支持.NET Framework。 然後是前端技術選擇,首選是三大js框架選擇,也是從實際出發,Vue相對其它而言更加容易上手,並且功能也毫不遜色,深得各種大小公司喜歡,如果偏要說缺點的話,那就是對TS支持不行,但是即將發布Vue3.0肯定會改變這一缺陷。選擇了Vue之後,然後就是UI框架的選擇了,這裏的選擇更多了,我選擇了Ant Design Vue,理由便是簡潔方便,十分符合我的設計理念。 技術選型完畢之後便...