webForumDet fria alternativet

Egen exceptionhantering

2 svar · 500 visningar · startad av Karamell

KaramellMedlem sedan juni 200199 inlägg
#1

Sitter och försöker klura på det här med att skriva egna Exceptions i C#.

Har hittat denna exception som jag tänkte använda:

public class AlreadyExistException : System.ApplicationException
{
        private string str;

        public AlreadyExistException(string msg)
            : base(msg)
        {
            str = msg;
        }

        public void Show()
        {
            Console.WriteLine("Error in: " + str);
        }
}

Frågan är bara var man kallar på exceptionen, var och hur jag gör min try/catch funktion. Säg att jag har en typ kallad "Bil" som jag kör med
Bil volvo = new Bil("volvo");
Bil saab = new Bil("saab");

om jag då kör
Bil 240 = new Bil("volvo") ska den skrika till för Volvo already exist. Namnet på själva bilen. Greppar ni vad jag är ute efter?

PhorpherMedlem sedan feb. 20002 300 inlägg
#2

Karamell skrev:

Sitter och försöker klura på det här med att skriva egna Exceptions i C#.

Har hittat denna exception som jag tänkte använda:

public class AlreadyExistException : System.ApplicationException
{
        private string str;

        public AlreadyExistException(string msg)
            : base(msg)
        {
            str = msg;
        }

        public void Show()
        {
            Console.WriteLine("Error in: " + str);
        }
}

Frågan är bara var man kallar på exceptionen, var och hur jag gör min try/catch funktion. Säg att jag har en typ kallad "Bil" som jag kör med
Bil volvo = new Bil("volvo");
Bil saab = new Bil("saab");

om jag då kör
Bil 240 = new Bil("volvo") ska den skrika till för Volvo already exist. Namnet på själva bilen. Greppar ni vad jag är ute efter?

Lägg:

throw(new AlreadyExistException("Volvo already exist!"));

...i konstruktorn för Bil-klassen och:

try
{
    Bil volvo1 = new Bil("volvo");
    Bil volvo2 = new Bil("volvo");
}
catch(AlreadyExistException ex)
{
      ex.Show();
}

...i klassen där du ska använda bilarna.

KaramellMedlem sedan juni 200199 inlägg
#3

så var det, tackar :)

136 ms totalt · 3 externa anrop · v20260731065814-full.91fd2ad2
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)