ErrorPresenter se nenačte při chybě na komponentě

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Tomáš Jablonický
Člen | 115
+
0
-

Zdar chlapci,

řeším tu jeden problém kdy když se vyskytne Exception nebo chyba na komponentě (dědná třída je \Nette\Application\UI\Control) tak nevyskočí můj ErrorPresenter ale ten od Nette. Vzhledem k tomu, že je celá aplikace stavěná jen na 3 presenterech a zbytek jsou již komponenty, je toto závažný problém.

V neonu:

application:
errorPresenter: Front:Error
mapping:
*: *Module*Presenter

ErroPresenter

<?php
namespace FrontModule;

class ErrorPresenter extends BasePresenter
{

	/**
	 * @param  Exception
	 * @return void
	 */
	public function renderDefault($exception)
	{
            $code = $exception->getCode();
            if ($exception instanceof \Nette\Application\BadRequestException) {
                \Nette\Diagnostics\Debugger::log("HTTP code $code: {$exception->getMessage()} in {$exception->getFile()}:{$exception->getLine()}", 'access');
            } else {
                \Nette\Diagnostics\Debugger::log($exception, \Nette\Diagnostics\Logger::ERROR);
            }
                if ($this->name!=='Front:Accident')
                    $this->redirect('Accident:default');
	}

}
?>

Chyba v komponentě je nasymulovaná za pomoci překlepu v inject.