Odchycení DB exception kterou vyhodí DI

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

Ahoj,

řeším takový problém – mám definované připojení k databázi přes config.local.neon, jakmile však dojde k nějakému problému, který způsobí že do databáze se nelze připojit (může jít v podstatě o cokoliv, síť, práva…), Nette vyhodí Nette\Database\ConnectionException.

Nepřišel jsem na to, jak tuto výjimku odchytit, vzhledem k tomu že je mimo moji aplikační část – jak na to? Potřeboval bych aby aplikace fungovala i když se nepřipojí do DB.

V podstatě by mi nevadilo kdyby se v případě nemožnosti připojení podstrčila nějaká dummy prázdná „databáze“.

David Matějka
Moderator | 6445
+
+2
-

kdyz mas nastavene lazy pripojeni, tak se to bude pripojovat az ve chvili prvniho dotazu. pote tedy staci obalit try-catchem to, kde to poklada dotazy.

ale opravdu to potrebujes? je opravdu pravdepodobne, ze se nepujde casto pripojovat do db?

peeterangelo
Člen | 2
+
0
-

skvěle, díky! funguje perfektně :)

musím s takovou situací počítat a další součásti aplikace nezávislé na té jedné databázi musí při případném výpadku fungovat

Editoval peeterangelo (2. 2. 2017 12:24)