Yaf_Dispatcher::catchException

Switch on/off exception catching

&reftitle.description; 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 when error occurs 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.

&reftitle.parameters;

`flag`

- bool

&reftitle.returnvalues;

&reftitle.examples;

### `Yaf_Dispatcher::catchException` example

    /* 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;
            }
         }
    }
    ?>

&example.outputs.similar;

    /* 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

&reftitle.seealso;

- `Yaf_Dispatcher::throwException`
- `Yaf_Dispatcher::setErrorHandler`