• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:プログラム内で処理中断後も継続処理を行うには?)

プログラム内で処理中断後も継続処理を行うには?

このQ&Aのポイント
  • プログラム内で処理を中断した場合も、継続処理を行う方法について
  • 処理中断後も継続処理が必要な場合には、return文を使用する
  • 処理を中断せずに次の処理を継続するためには、return文を適切に使う必要がある

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.1

処理全体を終了(exit)させるのはメインルーチンの仕事ですので、関数内でその関数の処理を終了させる場合はreturnで呼出元に処理を戻します。 関数内で何らかのエラーが発生して処理の実行が困難になった場合は、呼出元にエラーを知らせる戻り値を返してメインルーチン内で戻り値の判断を行って処理を終了させるか、関数内でExceptionを投げてメインルーチン内のエラー処理に事後の処理を委ねます。

dv8hjkwf
質問者

お礼

おっしゃるとおり、exitは、メインルーチン内で使うものですね。関数内では、戻り値を書き込み、メインルーチン内で判断することにしますね。

その他の回答 (2)

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.3

関数はreturnで戻るのが基本です。 #exitで終わるくらいのケースなら、dieで止める方が多いと思います。 処理した結果どうだったか(ちゃんと処理できたかどうか)も含めて呼び出し元に返り値で戻します。returnを省略したらnullを返しますが、「何かあって中断した」のであれば、return false; などとして、あとで(必要があれば)見分けられるようにしておくべきです。

dv8hjkwf
質問者

お礼

ありがとうございました。return で、戻り値を入れて使うことにします。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>以降のプログラムを引き続き処理する場合には、returnを使うものなのでしょうか? フローを最後までまわしたくないなら、手っ取り早いのはreturnです exitは強制終了なので余程のことがない限りつかわないでしょう <?PHP @(1/0) or exit("error!"); ?>

dv8hjkwf
質問者

お礼

そうですね。exitは、なるべく使わないようにします。

関連するQ&A