Avatar billede bumle90 Nybegynder
19. juli 2004 - 17:27 Der er 12 kommentarer og
1 løsning

Hvordan laver man throws i c#

I java kan man lave en syntax som dette:
Hvordan laves tilsvarende i C#?

public enklasse() throws Exception
{
//dostuff
}

public static void main(String[] arg)
{
try{
new enklasse();
}
catch(Exception e)
{
//dostuff
}
}
Avatar billede avlund Nybegynder
19. juli 2004 - 17:28 #1
Det kan du ikke, da alle exceptions pr. default er unchecked i C#. Det vil altså sige at alle metoder automatisk kaster exceptions videre, og throws er da overflødigt.
Avatar billede snepnet Nybegynder
19. juli 2004 - 17:30 #2
Du kan godt skrive sådan her hvis du skulle have lyst :o)

catch
{
    throw;
}
Avatar billede avlund Nybegynder
19. juli 2004 - 17:32 #3
Ja, throw eksisterer, men ikke throws... og håber ikke at der er nogle der koder deres programmer sådan dér :)
Avatar billede snepnet Nybegynder
19. juli 2004 - 17:32 #4
Og du kan lige få en fuld her :

public static void main(String[] arg)
{
    try
    {
        new enklasse();
    }
    catch(Exception e)
    {
        throw new Exception("something" + e.Message);
    }
    finally
    {
        // hvad der nu kunne være smart.
    }
}
Avatar billede bumle90 Nybegynder
19. juli 2004 - 17:36 #5
okay, så som standard hvis der blir kastet exceptions i C# kan jeg godt forvente de bliver kastet videre hvis der ikke er try-catch rundt om dem...og at jeg så kan fange dem længere oppe i kald-stakken eller hvad man skal kalde det?
Avatar billede bumle90 Nybegynder
19. juli 2004 - 17:39 #6
Må jeg lige spørge om noget andet?
Findes der et værktøj til .net tilsvarende javas javadocs?
Det burde der ihvertfald være...ellers har MS et stykke vej at gå endnu :)
Avatar billede avlund Nybegynder
19. juli 2004 - 17:39 #7
Jeg gik ud fra at du havde styr på den generelle try... catch... finally-terminologi, så den har jeg ikke nævnt.

Desuden er det ikke klasser, men metoder som kaster exceptions.

Et sidste tip er at bruge e.Source og e.TargetSite sammen med e.Message for mere information.
Avatar billede avlund Nybegynder
19. juli 2004 - 17:40 #8
Yes, exceptions bliver bare kastet videre.

Ang. docs: http://ndoc.sourceforge.net/

I samme kategori kan du også finde NAnt (build-værktøj) og NUnit (unit testing).
Avatar billede bumle90 Nybegynder
19. juli 2004 - 17:47 #9
heh avlund jeg ved skam godt hvordan try-catch fungerer og det er metoder der kaster exceptions og ikke klasser. Nu lavede jeg så eksemplet på en konstruktør. :)
Og jeg ved godt det er smart at bruge ting som e.Source og e.TargetSite, men nu er det her jo ikke nogen programkode jeg har skrevet, snarere et hurtigt eksempel....Det ville jo ikke illustrere mit problem på nogen måde at inkludere e.Source og e.TargetSite så derfor undlod jeg at skrive det.
Avatar billede avlund Nybegynder
19. juli 2004 - 18:00 #10
Ja for dævlen da, det er også en constructor. Havde jeg overset, min fejl.

Grunden til at jeg begynder at gå ind i de ting er sådan set at snepnet allerede var derinde, og så kunne jeg ligesågodt tilføje et par detaljer derudover.
Avatar billede snepnet Nybegynder
19. juli 2004 - 18:02 #11
Jeps... det var noget frygteligt noget jeg fik startet op der :o)
Avatar billede avlund Nybegynder
19. juli 2004 - 18:03 #12
... men tak for points, i al fald.
Avatar billede bumle90 Nybegynder
19. juli 2004 - 18:09 #13
helt i orden :)
Tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester