質問
親スクリプトから子スクリプトを呼び出す際、それぞれにtry-catchを配置した場合としない場合で、子スクリプトでエラーが発生したときの挙動はどうなりますか?
回答
子スクリプトでエラーが発生した際の挙動は以下の通りです。
① 親スクリプトでtry-catchを括り、子スクリプトでtry-catchを括った場合
子スクリプトから親スクリプトに戻って、親スクリプトのtry内の後続処理を継続します。
ただし、子スクリプトのcatchフロー内でエラーが発生した場合は、子スクリプトから親スクリプトに戻って、親スクリプトのcatch処理を継続します。
② 親スクリプトでtry-catchを括り、子スクリプトでtry-catchを括らない場合
子スクリプトから親スクリプトに戻って、親スクリプトのcatch処理を継続します。
③ 親スクリプトでtry-catchを括らず、子スクリプトでtry-catchを括った場合
子スクリプトのcatch処理を実行し、親スクリプトに復帰して処理を継続します。
ただし、子スクリプトのcatchフロー内でエラーが発生した場合は、子スクリプトから親スクリプトに戻らず、親スクリプトの処理が停止します。
④ 親スクリプトでtry-catchを括らず、子スクリプトでtry-catchを括らない場合
子スクリプトから親スクリプトに戻らず、親スクリプトの処理が停止します。
補足
前提として、子スクリプトにtry-catchを配置している場合は、子のtryフロー内でエラーが発生したケースを想定しています。
コメント
0件のコメント
記事コメントは受け付けていません。