try-catch-finallyの挙動を調べてみる(JavaScript、PHP)

Pocket

try-catch-finallyの挙動を調べてみる

try-catch-finallyのcatchの中でreturnや例外発生をさせた場合の挙動を調べてみます。

対象言語はJavaScript、PHPです。

JavaScript

JavaScriptでcatchの中でreturnした場合

↓調査した際のプログラム↓

↓出力結果↓

catchのあとにfinallyが実行されていることが分かる

→catch内のreturn文は動作していない。

JavaScriptでcatchの中で例外発生した場合

↓調査した際のプログラム↓

↓出力結果↓

catchのあとにfinallyが実行されていることが分かる。同時にcatchに投げ、例外も発生している。

PHP

PHPでcatchの中でreturnした場合

↓調査した際のプログラム↓

↓出力結果↓

catchのあとにfinallyが実行されていることが分かる

→JavaScript同様、catch内のreturn文は動作していない。

PHPでcatchの中で例外発生した場合

↓調査した際のプログラム↓

↓出力結果↓

JavaScriptと同様にcatchのあとにfinallyが実行されていることが分かる。同時にcatchに投げ、例外も発生している。