2

Laravel が例外を処理する方法を理解するのに問題があります。次のように、global.php に例外ハンドラを登録しました。

use MyNamespace\Custom\Exceptions\NotAllowedException; 
App::error(function(NotAllowedException $exception, $code) 
{
  die("MyNamespace\Custom\Exceptions\NotAllowedException catched"); 
});

App::error(function(\Exception $exception)
{
    echo "general exception thrown<br/>"; 

});

コントローラー アクションで、NotAllowedException をスローするようになりました。ただし、奇妙な部分は、最初の Exception がキャッチされ、その後 NotFoundException がキャッチされることです。

したがって、出力は次のようになります。

general exception thrown 
MyNamespace\Custom\Exceptions\NotAllowedException catched

例外ハンドラーがスタックしているため、NotAllowedException のみが処理されていると思いました。しかし、私は間違っています。Laravel のエラー処理の概念を誤解していますか、それとも予期しない動作ですか?

別のこと: http 応答ヘッダーを 401 に設定できません。SO にはこの問題に関する他のスレッドがありますが、これまでのところ解決策はありません。誰かがそれについて何か知っていれば、私は感謝します。

あなたの時間とすべての応答に感謝します! 乾杯

4

1 に答える 1