#例外:
プログラム開発中に発生する異常事態は例外です。たとえば、除数が 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 サイトの他の関連記事を参照してください。