Kazdopadne vdaka za odpoved :)
On 07/07/06, Martin Kuba <[EMAIL PROTECTED]> wrote:
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
--------------------------------------------------------------
