Serializace výjimky v action
- miler
- Člen | 75
Ahoj,
mám aplikaci, ve které pro určitá využití pracuji s výjimkami jen jako s chybami.
Tedy např.:
// dědí od \Exception, což si myslím že bude asi ten problém (možná v callstacku)
$error = new FooException('msg');
Ale teď bych si tu chybu potřeboval předat do jiné action (potřebuji např. přesměrovat jinam a tam vypsat message do modalu atd.), což jsem chtěl vyřešit serializací a předáním jako parametru:
$serializedError = serialize($error);
U čehož ale narazím na:
Nette\NotImplementedException
Object serialization is not supported by class App\HomepagePresenter
Jak bych toho mohl docílit?
Editoval miler (14. 7. 2015 14:54)
- Jan Tvrdík
- Nette guru | 2595
Exception message slouží pro programátora. Nikdy bys ji neměl zneužívat pro předávání zpráv uživateli. Viz také https://www.youtube.com/watch?…
- miler
- Člen | 75
@JanTvrdík: Ono je to v reálu trochu upravené, což jsem sem nerozepsal, moje FooException má dva typy message, základní která vychází z Exception a vrací se standardně přes getMessage() a pak ještě druhou message pro zobrazení uživateli s vlastním getterem. To mi (doposud) zjednodušovalo práci.
Editoval miler (14. 7. 2015 15:20)