1
曖昧なタイトルに申し訳ありません。メソッドまたは呼び出し元のメソッドで例外をスローする
私はこのようなシナリオで行うことが最善であるものを疑問に思って:
$template = $loader->load('file');
if (!$template) {
throw new \Exception('my custom exception');
}
このようにそれを維持、または実際に$loader->loader()
方法で例外をスローする方が良いでしょうか?
実際にこの例のように例外が発生した場合は、例外がスローされたメソッドを常にクリックすると思います。したがって、例外がスタックトレースを上回る本当の理由はありません。
これについての考えは?メソッドが実際に例外を実装することができたときに、スタックトレースの上位の例外をキャッチするのはなぜですか?
状況によって異なります。たとえば、ファイルが見つからないという例外がある場合は、loadメソッドの内部にスローされる必要があります。外側の範囲に関係する場合は、外側の範囲などにスローされる必要があります。 –
@ patryk-uszynski真ですが、線はぼやけています。私はそれがいつ「外の範囲にコーナーするか」を意味する。どちらの場合も外側の範囲が関与しているからです。私はこれに明確な答えがないと思います。私は人々の考えが欲しいので、まだ投稿しました。読んでくれてありがとう! –