異常:
在程式開發過程中出現的不正常情況,就是異常。例如除數是0,參數為null,呼叫參數的成員變數或方法,數組下標越界。
異常分為兩大類型:
(1)Exception:程式設計師可以解決的:空指針,除數是0,陣列下標越界。
(2)Error:程式設計師無法解決的:如記憶體溢位。
Throwable是這兩種類型的父類
Exception的分類:
依照編譯器是否檢查進行分類:
非检查性异常:也称之为运行时异常,即编译器在检查语法期间,不做异常检查。 检查性异常:也称之为编译时异常,此时,编译器会强制检查语法中的异常情况。如有异常,在编译期需要做异常处理。
Exception的結構:
RuntimeException: NullPointerException ArrayIndexOutOfBoundsException ClassCastException IllegalArgumentExcetion NumberFormatException IOException: EOFException FileNotFoundException
異常的處理:
(1)當異常出現時,終止程式。
(2)當異常出現時,我們使用處理機制進行處理異常。無需終止程序。
体验度:尽可能的选择异常处理机制。
異常處理機制:
基本概念:
#在可能出現異常的程式碼區塊區域,進行嘗試檢查,如果出現了異常訊息,我們將這些資訊封裝成某一異常類型的對象, 然後進行捕獲與處理。
相關推薦:《常見問題》
try{ 可能出现异常的代码块 /*如果有异常,jvm会将异常信息,封装成对象 将地址信息赋值给catch中的形参 */ }catch(Exception e){ 进行处理e }
多catch語句區塊情況:
當我們在嘗試擷取例外物件時,想對多種不同的異常物件分別處理時, 需要使用多個catch語句區塊。
說明:當在try中出現了異常訊息,那麼就不會再執行try中程式碼區塊的後續部分。進入對應的catch程式碼區塊中執行處理。
多catch語句區塊情況下,catch處理的異常種類書寫順序:
先寫子類別異常類型,再寫父類別異常。
throw:拋出關鍵字,在本方法中出現的例外,不做try-catch處理。
而是丟給呼叫者處理。需要使用throw關鍵字。
throws:宣告例外關鍵字,通常用於方法的定義上,用於通知呼叫者。
(1)当throw的异常对象为检查性异常,方法上必须throws此异常类型。 (2)如果throw的异常对象为非检查性异常,方法上不必throws此异常类型。
方法重寫時的throws的用法
#可行的:
(1)可以相同。 (2)可以是部分。 (3)异常的子类型可行,也可以是多个子类型。
不行的:
##
(1)不同的异常类型,也不可以多声明不同类型的异常类型。 (2)异常的父类型不行。
以上是api介面異常怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!