Vladimir Bobes Tuzinsky wrote:
Zdravim vas,

pred par tyzdnami som prisiel na projekt, kde som sa po prvy krat stretol s takouto situaciou. V business vrstve je niekolko metod, ktore si odniekial ziskaju Connection na databazu, zavolaju par metod v Dao vrstve a zatvoria Connection. Zatvaranie je standardne vo finally bloku. Ak ale v try bloku vznikne vynimka (ci uz sql alebo nejaka business) a nasledne vznikne sql vynimka aj vo finally bloku, nie je jasne, ktoru vynimku by mala takato metoda vyhodit (najma v pripade, ze ani jednu z nich nevie zodpovedne spracovat.) Po diskusii s kolegami som sa rozhodol opytat skusenejsich. Mate nejake namety, ako danu situaciu riesit?
Vdaka :)

b.

Pokud mate na mysli neco takoveho:

public void mojeMetoda() throws BussinessVyjimkaException {

 Connection con = ...;
 try {
    ...
    neco.zavolejBussinessMetodu(con); //throws BussinessVyjimkaException
    ...
 } finally {
    try {
        con.close();
    } catch (SQLException ex) {
        log.error(ex.getMessage(),ex);
    }
 }
}

pak myslim, ze metoda musi propagovat dal bussiness vyjimku,
protoze ta je pro aplikaci dulezitejsi. Ze se nepodarilo
zavrit databazove spojeni je sice neprijemne, ale k tomu moc nedochazi,
a kdyz uz, je pravdepodobne, ze bussiness vyjimka vznikla taky
v dusledku nejake SQL vyjimky a tudiz ji uz obsahuje.
Proto bych SQL vyjimku ve finally pouze zalogoval
a dal to neresil.

Makub
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Supercomputing Center Brno             Martin Kuba
Institute of Computer Science    email: [EMAIL PROTECTED]
Masaryk University             http://www.ics.muni.cz/~makub/
Botanicka 68a, 60200 Brno, CZ     mobil: +420-603-533775
--------------------------------------------------------------

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Odpovedet emailem