Serializace výjimky v action

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

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
+
+3
-

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
+
0
-

@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)