nette/application 3.2: oddělení 4xx a 5xx error presenterů na úrovni konfigurace
- David Grudl
- Nette Core | 8218
Od nette/application v3.2.1 lze v konfiguraci uvádět různé error presentery pro BadRequestException (4xx) a ostatní (5xx):
application:
errorPresenter:
4xx: Error4xx
5xx: Error5xx
Redirect na 4xx error-presenter se tak uskuteční přímo z presenteru, kde vznikla chyba, bez mezičlánku, takže se zachovají případné persistentní parametry a tak.
Dále catchExceptions
nově přijímá hodnotu
4xx
, která říká, že error-presenter se má při vývoji
zobrazovat pro chyby 4xx a ostatní se nechají probublat do Tracy:
application:
catchExceptions: 4xx
Tato hodnota je nově i výchozí.
- m.brecher
- Generous Backer | 863
Tato hodnota je nově i výchozí.
Ahoj,
výborné vylepšení Nette Application, s jedinou výhradou. Upgradoval jsem před pár dny na poslední verzi nette/application a vyloženě mě zaskočila změněná defaultní hodnota
application:
catchExceptions: 4xx
Měl jsem v aplikaci chybu – překlep v názvu šablony akce a vyskočila na mě moje vlastní 4xx chybová stránka a chvíli mě trvalo, než jsem pochopil, že nyní bude potřeba ladit chybové stránky nikoliv postaru:
application:
## catchExceptions: true
catchExceptions: true
ale ponovu:
application:
catchExceptions: false
catchExceptions: true
Takže žádný problém s tím není. Nová hodnota 4xx je užitečná při ladění 4xx chybových stránek, takže super, že tam je. Nicméně při běžném vývoji aplikací potřebuji vědět o příčinách chyb 4xx i 5xx trvale, protože 4xx při vývoji z 90% způsobují chyby v aplikaci(routování). Takže bych navrhoval ponechat původní defaultní hodnotu catchExceptions: false.