Jūs esateŽurnalai / Ernestas Kardzys's blog / MS SQL Server 2005 ir C# [papildyta]
MS SQL Server 2005 ir C# [papildyta]
Mano senesnėje programoje/žinutėje http://www.ernestas.info/?p=233 vienas mano blogo lankytojas pastebėjo rimtą klaidą. Dirbdamas su MS SQL duomenų baze aš gražinu -1 kaip klaidos pranešimą. Buvo pastebėta, kad tai rimta klaida.
Tikslus pastebėjimas, tad į jį yra mano pasiteisinimai:
- Tai antra mano programa ant C#.
- Programa nerimta - skirta mokymosi tikslais.
- Ir aš iki išimčių apdorojimo (exception-handling) dar nepriskaičiau :D Žinojau, kad galima pagauti išimtį, o kaip ją "aukštyn" permesti - nežinojau. Tad šį tą atradau ir padariau :) Aišku, programa idealiai neveikia :)


Dar kartą dėkingas ;)
OK, tau tikrai reikia knygą perskaityti prieš kodinant :)
Niekada negaudyk exceptionų, jei neturi ko veikti juos pagavęs - tiesiog juos praleisk. Exceptionai tam ir sugalvoti, kad būtų lengviau nei grąžinti error kodus - uždėk catch'us Main metode, kurie parodys error message'ą - viskas!
Jei vis dėlto užsinorėjai permesti exceptioną, pvz., turi papildomos informacijos, tai daryti reikia ne taip, kaip tu aprašei. Pirmas dalykas - nemėtyk pliko Exception'o - jei jau prisireikė permesti exceptioną, tai reiškia turi papildomos informacijos, kurią turėtum sudėti į savo custom exception objektą. O pats permetimas tokiu atveju daromas pasinaudojant exception chaininimu: catch(SqlException ex) { throw new TavoExceptionas("Blah", ex) }
Tokiu būdu, pagavęs exceptioną matysi ir tavo ir originalų exceptionus.
Tai tiek norėjau pasakyti :)
Skelbti naują komentarą