1

次のアクションを検討してください。

sub get_stuff :Chained('/') :PathPart('stuff') :CaptureArgs(1) {
  my ($self,$c,$stuff_id) = @_;
  die "ARRRRRRGGGG";
}

sub view_stuff :Chained('get_stuff') :PathPart('') :Args(0){
  die "DO'H";
}

'/ stuff / 314 /'をリクエストすると、次のようになります。

Error: ARRRRG in get_stuff at ...

Error: DO'H in view_stuff at ...

最初に失敗したチェーンリンクでエラーをスローしない理由はありますか?

なぜ触媒は連鎖を続けようとしているのですか?

4

4 に答える 4

2

「なぜ」についての答えはよくわかりませんが、柔軟性を持たせるためにそのようにしたのだと思います。

アクションの処理を停止する場合は、おそらく eval (または、できればTry::TinyTryCatch など) でエラーをキャッチし、呼び出す必要があります。$c->detach

于 2011-03-02T16:27:43.050 に答える
1

Catalyst::プラグイン::MortalForward

于 2011-10-05T18:32:15.537 に答える