Обработка исключений в Kohana 3.3 (ошибка 404)?
Это не оно? — kohanaframework.org/3.3/guide/kohana/tutorials/error-pages
В 3.3 они это здорово упростили, вам не надо ничего проверять, просто переопределяете класс HTTP_Exception_404, в котором в методе get_response реализуется вся логика
class HTTP_Exception_404 extends Kohana_HTTP_Exception_404 {
 
    /**
     * Generate a Response for the 404 Exception.
     *
     * The user should be shown a nice 404 page.
     * 
     * @return Response
     */
    public function get_response()
    {
        $view = View::factory('errors/404');
 
        // Remembering that `$this` is an instance of HTTP_Exception_404
        $view->message = $this->getMessage();
 
        $response = Response::factory()
            ->status(404)
            ->body($view->render());
 
        return $response;
    }
}

Еще одна особенность версии 3.3. В Случае, если uri не будет найден в route, Request::factory()->execute() вернет HTTP_Exception_404, а не бросит его. Смотрите исходники Request->execute()