JAVA - osetrenie padu aplikacie

Programovacie jazyky, rady, poradňa...
M4rek
Medium Star
Medium Star
Príspevky: 499
Registrovaný: 15 máj 2008, 13:38

JAVA - osetrenie padu aplikacie

Príspevok od používateľa M4rek »

Mam aplikaciu, ktora sa pripaja na databazu a odtial vypisuje nejake udaje. No a mam za ulohu spravit to, aby aplikacia nepadla ked chcem nieco vypisat z databazy ked este nebolo nadviazane spojenie s databazou alebo ked DB nebezi.
Mam tam

Kód: Vybrať všetko

try {
            Class.forName(driverClass);
            connection = DriverManager.getConnection(url, user, password);
        } catch (Throwable e) {
            throw new ApplicationException(2, "blablabla", e);
        }
No a toto mi sposobi pad aplikacie ked nemam zapnutu databazu a vypise tu chybu co zadam namiesto blablabla ... ako to mam spravit aby aplikacia nespadla ?
pcsiete
Medium Star
Medium Star
Príspevky: 413
Registrovaný: 07 dec 2012, 18:47

Re: JAVA - osetrenie padu aplikacie

Príspevok od používateľa pcsiete »

...tak že nevyhodíš tú výnimku?

//autoeditácia príspevku (10 Máj 2014, 19:39)
Jednoducho len vypíš nejakú chybovú hlášku v catch-i.
M4rek
Medium Star
Medium Star
Príspevky: 499
Registrovaný: 15 máj 2008, 13:38

Re: JAVA - osetrenie padu aplikacie

Príspevok od používateľa M4rek »

Aha :D diky
miki690
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1255
Registrovaný: 07 okt 2005, 22:07
Bydlisko: KE
Kontaktovať používateľa:

Re: JAVA - osetrenie padu aplikacie

Príspevok od používateľa miki690 »

Neodporucam pouzivat catch (Throwable t) radsej chytaj Exception, ked uz musis pouzivat Pokemon pattern (Gotta catch 'em all). Throwable je predok Exceprion a Error - z Error sa typicky neda zotavit. Napr. Ked nastane OutOfMemoryError tak uz s tym aj tak nic nespravis, aby si to zachranil.
pcsiete
Medium Star
Medium Star
Príspevky: 413
Registrovaný: 07 dec 2012, 18:47

Re: JAVA - osetrenie padu aplikacie

Príspevok od používateľa pcsiete »

...z Error sa typicky neda zotavit
Z Error sa zotaviť dá. Rozdiel je len v tom, že sa často jedná o prípady, ktoré už v bežných aplikáciach nepotrebuješ riešiť. Ale existujú aj prípady v ktorých to chceš (napr. keď chceš prebehnúť do JNI a uvoľniť nejaké zdroje, aby spomínaný OutOfMemoryError nenastal).
miki690
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1255
Registrovaný: 07 okt 2005, 22:07
Bydlisko: KE
Kontaktovať používateľa:

Re: JAVA - osetrenie padu aplikacie

Príspevok od používateľa miki690 »

Nespravne som sa vyjadril, mas pravdu. Mne skor islo o to, ze nieje uplne vhodne chytat to z coho sa nevie zotavit.
Napísať odpoveď