Yaf_Dispatcher::throwException

例外のスローのオン/オフを切り替える

説明

public Yaf_Dispatcher Yaf_Dispatcher::throwException(bool $flag = ?)

予期せぬエラーが発生した場合に例外をスローするかどうかを切り替えます。 オンにすると、Yaf はキャッチ可能なエラーを発生させるのではなく例外をスローするようになります。

application.dispatcher.throwException を使って同じ設定をすることもできます。

パラメータ

flag

bool

戻り値

例1 Yaf_Dispatcher::throwexception の例

<?php

$config = array(
    'application' => array(
        'directory' => dirname(__FILE__),
    ),
);
$app = new Yaf_Application($config);

$app->getDispatcher()->throwException(true);

try {
    $app->run();
} catch (Yaf_Exception $e) {
    var_dump($e->getMessage());
}
?>

上の例の出力は、 たとえば以下のようになります。

string(59) "Could not find controller script /tmp/controllers/Index.php"

例2 Yaf_Dispatcher::throwexception の例

<?php

$config = array(
    'application' => array(
        'directory' => dirname(__FILE__),
    ),
);
$app = new Yaf_Application($config);

$app->getDispatcher()->throwException(false);

$app->run();
?>

上の例の出力は、 たとえば以下のようになります。

PHP Catchable fatal error:  Yaf_Application::run(): Could not find controller script /tmp/controllers/Index.php in /tmp/1.php on line 12

参考

  • Yaf_Dispatcher::catchException
  • Yaf_Exception