Plugin内のExceptionで、処理はとまらない

ActionHelperやPluginを有効利用しようと模索していますが、
今回Pluginでチェック処理を行った際に、気づいたことがあります。

Plugin内でExceptionを発生させても、処理は止まらないということ。
Zend_Controller_Action内の処理で発生した場合は止まるのに。(※1)

※1
Zend_Controller_Action内とは、ActionHelper、Controller内で
利用しているmodelの処理を指しています。

調べてみると、PluginでのExceptionはPluginBroker
(Pluginの処理を統合してるとこ)の中で全てcatchされているために、
PluginBrokerを呼び出しているFrontControllerでは認識できません。
そのために、FrontControllerはPlugin内でExceptionが発生しても、
その後の処理をどんどん実行していくというわけです。

チェック次第で処理を中断するという内容の処理を記述するなら、
Zend_Controller_Action内(※1)でってことですね。

HelperとPluginのこういう違いがわかっていくと、使い分けの
目安がなんとなくできるようになっていきますね。

  • Plugin内のExceptionで、処理はとまらない はコメントを受け付けていません。
コメントは閉じられています。

return top

%d人のブロガーが「いいね」をつけました。