Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Handlovanje Exceptiona na osnovu broja greške

[es] :: .NET :: .NET Desktop razvoj :: Handlovanje Exceptiona na osnovu broja greške

[ Pregleda: 1764 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

KizaBG
programer

Član broj: 169491
Poruke: 247
*.adsl-4.sezampro.yu.



+1 Profil

icon Handlovanje Exceptiona na osnovu broja greške09.12.2009. u 23:12 - pre 174 meseci
VS .net 2005, Windows aplikacija, C#

ima li mogućnosti u VS .Netu, da se na osnovu broja greške, ispiše odgovarajuća poruka korisniku.

naime, testiram jednu aplikaciju, koja za bazu koristi MS SQL 2005.

Postavio sam try-catch kod, i Logovanje grešaka.

Medjutim, ono što me zanima, je da li mogu (kao što može u Accessu) na osnovu broja greške da se korisniku prikaže odgovarajuća poruka

tipa.

try
{
uradi nesto ....
}

catch (5608)
{
MessageBox.Show("Prekinula se konekcija sa bazom. Pokrenite program opet")
{
catch (6208)
{
MessageBox.Show("Prekinula se konekcija sa bazom. Pokrenite program opet")
{

catch(Exception ex)
{
Console.WriteLine(ex.ToString());
}

Evo recimo, nekih grešaka koje sam dobio, kada sam usred rada stopirao MS SQL server

Prva greška
2009-12-09 23:45:13,785 [5608] ERROR - System.Data.SqlClient.SqlException: A transport-level error has occurred when sending the request to the server. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.)

Druga greška (ista kao prva, samo što je sistem izbacio različiti kod ? )
2009-12-09 23:35:42,429 [6268] ERROR - System.Data.SqlClient.SqlException: A transport-level error has occurred when sending the request to the server. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.)

Treca greska (ovo je vec greška u kodu)
2009-12-04 21:49:42,204 [4432] ERROR - System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.Collections.ArrayList.get_Item(Int32 index)
at System.Windows.Forms.DataGridViewSelectedRowCollection.get_Item(Int32 index)

Kako bi vi ove greske prikazali korisniku ??? ako imu izadju ove cifre, i silni podaci, samo ce se uplasiti :))
 
Odgovor na temu

peka
Beograd

Član broj: 3947
Poruke: 124
*.dynamic.sbb.rs.



+2 Profil

icon Re: Handlovanje Exceptiona na osnovu broja greške10.12.2009. u 03:15 - pre 174 meseci
Citat:
KizaBG

catch (5608)
{
MessageBox.Show("Prekinula se konekcija sa bazom. Pokrenite program opet")
{
catch (6208)
{
MessageBox.Show("Prekinula se konekcija sa bazom. Pokrenite program opet")
{


Ovo ne moze, mozes da imas po jedan catch blok za svaki tip Exceptiona koji hvatas, a onda mozes isti da detaljno ispitas u okviru catch bloka. Recimo:
Code:

catch(SqlExeption e)
{
    switch(e.Number)
    {
        case 0:
            // obradi gresku sa kodom 0
            break;
        case 1:
            // obradi gresku sa kodom 0
            break;
        // itd
    }
}
catch(ArgumentOutOfRangeException e)
{
    // ...
}



A sto se tice prikazivanja korisniku, to zavisi kakve je greska u pitanju, kao i od same aplikacije. Ako je u pitanju neka greska koju program moze da ispravi, nemoj ni da je prikazujes. Ako je nesto sto korisnik moze da ispravi, obavijesti ga o tome, tj. daj mu uputstvo kako da je ispravi (na srpskom). Ako je fatalna greska, mozes da zapises informacije (iz exceptiona i ostale relevantne) u log fajl lakseg pronalazenja baga u programu, pa da obavijestis korisnika da kontaktira autora programa.

U svakom slucaju, apsolutno nema potrebe da korisniku prikazujes sadrzaj exceptiona, kad mu to vec nista ne znaci.
IRC is just multiplayer notepad.
 
Odgovor na temu

KizaBG
programer

Član broj: 169491
Poruke: 247
*.adsl-4.sezampro.yu.



+1 Profil

icon Re: Handlovanje Exceptiona na osnovu broja greške10.12.2009. u 21:41 - pre 174 meseci
Odlično, ovo mi je i trebalo, sad ću da probam kako radi :)

hvala puno, pozdrav
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: Handlovanje Exceptiona na osnovu broja greške

[ Pregleda: 1764 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.