ホームページ >バックエンド開発 >PHPチュートリアル >PHP では、trycatch ブロック内で定義された変数をブロック外で使用できるのはなぜですか?
function f() { try { $a = new obj; } catch (Exception $e) { echo $e->getMessage(); } $a->func();}
try ブロックでは、内部のコンテンツを定義するだけで、存在する場合は指定された操作を実行する必要があります。例外です。それ自体は関数ではありません。
例外がスローされた場合、try ステートメントのスクリプトは実行を停止し、すぐに catch ステートメントのスクリプトの実行に切り替わります。
したがって、例外処理に関係なく、上記のコードは
function f() { $a = new obj; $a->func();}
と同等です。 try catch 構造体は、例外を処理するための単なるプログラム ブロックです
形式的に言えば、これは、try ブロック内の if else、while、for、および foreach 構造体
と同じです。内部のコンテンツを定義するだけで、存在する場合は指定された操作を実行する必要があります。例外。それ自体は関数ではありません。
例外がスローされた場合、try ステートメント内のスクリプトは実行を停止し、すぐに catch ステートメント内のスクリプトの実行に切り替わります。
つまり、例外処理を除けば、上記のコードは
function f() { $a = new obj; $a->func();}
try catch 構造体は、例外を処理するための単なるプログラム ブロックです
形式的に言えば、if else、while、for、foreach 構造体と違いはありません
if(1) { $a = 123;}echo $a;
try catch 構造は単なる例外処理です プログラム ブロック
は、形式的には if else、while、for、foreach 構造と何ら変わりません