ホームページ >よくある問題 >APIインターフェースが異常な場合の対処方法

APIインターフェースが異常な場合の対処方法

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼オリジナル
2019-08-21 09:45:0521918ブラウズ

APIインターフェースが異常な場合の対処方法

#例外:

プログラム開発中に発生する異常事態は例外です。たとえば、除数が 0、パラメータが null、メンバー変数またはパラメータのメソッドが呼び出され、配列の添え字が範囲外です。

例外は 2 つの主なタイプに分類されます。

(1)例外: プログラマーは解決できます: null ポインター、除数が 0、配列の添字が範囲外。

(2) エラー: プログラマが解決できないもの: メモリ オーバーフローなど。

Throwable は、これら 2 つの型の親クラスです。

例外分類:

コンパイラがチェックするかどうかによる分類:

非检查性异常:也称之为运行时异常,即编译器在检查语法期间,不做异常检查。
检查性异常:也称之为编译时异常,此时,编译器会强制检查语法中的异常情况。如有异常,在编译期需要做异常处理。

例外構造:

RuntimeException:
         NullPointerException
         ArrayIndexOutOfBoundsException
         ClassCastException
         IllegalArgumentExcetion
         NumberFormatException
IOException:
         EOFException
         FileNotFoundException

例外処理:

(1) 例外が発生した場合、プログラムを終了します。

(2) 例外が発生すると、処理メカニズムを使用して例外を処理します。プログラムを終了する必要はありません。

体验度:尽可能的选择异常处理机制。

例外処理の仕組み:

基本的な考え方:

例外が発生する可能性のあるコードブロック領域を確認し、例外情報が発生した場合はその情報をカプセル化します。特定の例外タイプのオブジェクトを取得し、それをキャプチャして処理します。

関連する推奨事項: "

FAQ"

 try{
     可能出现异常的代码块
   /*如果有异常,jvm会将异常信息,封装成对象
      将地址信息赋值给catch中的形参
   */
 }catch(Exception e){
          进行处理e
 }

複数の catch ステートメント ブロック:

例外オブジェクトをキャプチャしようとするとき、異なる処理を行うときは次のようにします。例外オブジェクトを個別に使用するには、複数の catch ステートメント ブロックを使用する必要があります。

注: try で例外メッセージが発生した場合、try のコード ブロックの後続の部分は実行されません。対応するキャッチコードブロックを入力して処理を実行します。

複数の catch ステートメント ブロックの場合、catch によって処理される例外タイプを記述する順序:

最初にサブクラスの例外タイプを記述し、次に親クラスの例外を記述します。

throw: throw キーワード。このメソッドで発生した例外は try-catch では処理されません。

代わりに、処理のために呼び出し元にスローされます。 throw キーワードを使用する必要があります。

throws: 例外キーワードを宣言します。通常、呼び出し元に通知するメソッドの定義で使用されます。

(1)当throw的异常对象为检查性异常,方法上必须throws此异常类型。
(2)如果throw的异常对象为非检查性异常,方法上不必throws此异常类型。

メソッドを書き換えるときのスローの使用法

可能:

(1)可以相同。
(2)可以是部分。
(3)异常的子类型可行,也可以是多个子类型。

実現不可能:


(1)不同的异常类型,也不可以多声明不同类型的异常类型。
(2)异常的父类型不行。

最終的に:

は、try-catch の統合された出口を提供します。 try ステートメント ブロックと catch ステートメント ブロックで例外が発生したかどうかに関係なく、finally のコード ブロックは最終的に実行されます。

通常、一部のリソースを閉じるなどの操作を処理するために使用されます:

例: ファイルの読み取り時や一時ファイルの削除時に操作を閉じる

finally ステートメント ブロックはオプションです。

ステートメントにリターンがある場合は、最初に順次実行します。リターンが発生した場合は、最初に戻り値を一時停止し、最後にコード ブロックを実行してから、リターンを実行します (リターンがない場合)。最終的に、返品は処理されません。値は影響します)

以上がAPIインターフェースが異常な場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:arm64の違い次の記事:arm64の違い