(Yaf >=1.0.0)
Switch on/off exception catching
public Yaf_Dispatcher Yaf_Dispatcher::catchException ([ bool $flag ] )
While the application.dispatcher.throwException is On(you can also calling to Yaf_Dispatcher::throwException(TRUE)() to enable it), Yaf will throw Exception whe error occurrs instead of trigger error.
then if you enable Yaf_Dispatcher::catchException()(also can enabled by set application.dispatcher.catchException), all uncaught Exceptions will be caught by ErrorController::error if you have defined one.
Parameters:
flag
bool
Returns:
Examples:
Yaf_Dispatcher::catchException() example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | /* if you defined a ErrorController like following */ <?php class ErrorController extends Yaf_Controller_Abstract { /** * you can also call to Yaf_Request_Abstract::getException to get the * un-caught exception. */ public function errorAction( $exception ) { /* error occurs */ switch ( $exception ->getCode()) { case YAF_ERR_NOTFOUND_MODULE: case YAF_ERR_NOTFOUND_CONTROLLER: case YAF_ERR_NOTFOUND_ACTION: case YAF_ERR_NOTFOUND_VIEW: echo 404, ":" , $exception ->getMessage(); break ; default : $message = $exception ->getMessage(); echo 0, ":" , $exception ->getMessage(); break ; } } } ?> |
The above example will output something similar to:
/* now if some error occur, assuming access a non-exists controller(or you can throw a exception yourself): */ 404:Could not find controller script **/application/controllers/No-exists-controller.php
See also:
Please login to continue.