Hvis jeg forsøger at åbne en forbindelse til en SQL DB med en forkert source string (ikke eksisterende server eller lignende), hvilken exception vil dette så kaste ??? Synes jeg har prøvet alt, men det kan selvfølgelig være jeg griber det helt forkert an.
Jeg formoder at den timerout ved at forsøge at kalde en ikke eksisterende server, men jeg kan som sagt ikke få den til at kaste en exception. Hvad gør jeg forkert ?
Det skal siges, for god ordens skyld, at jeg har ikke nogen relevant erfaring indenfor C# - det lignede bare temmelig meget noget, jeg prøvede i Java engang - og der kan man ihvertfald fange dem med SQLException :)
Derfor jeg er i tvivl om SqlConnection.Open() overhovedet kaster en exception når den bliver kaldt med en source string til en server der ikke eksisterer.
Måske skal der bruges noget med SqlError i stedet, men jeg synes jo bare kun det kan bruges til at finde fejl/advarsler osv. der bliver returneret fra SQL serveren. Og da jeg jo ikke kommer i kontakt med serveren (da den kaldte server ikke eksisterer), så synes jeg jo ikke lige det kan være SqlError der skal bruges.
Arne... Det har du helt ret i, men det kaster den bare ikke når den får en korrekt source string, med som indeholder navnet på en ikke eksisterende server. (Eller det gør den ikke lige når jeg forsøger at få den til det :-( )
Ja det har jeg lidt svært ved at sige. App'en (en webservice) går bare ned og viser en "Siden kan ikke vises" side i browseren. Så derfor har jeg lidt svært ved at få yderligere oplysninger fra den.
Lidt rodet, men conn.Open() kaster intet der bliver fanget her, når den bliver kaldt med en korrekt formateret source string, som indeholder en ikke eksisterende server
buzzzz.... Jo det burde jeg nok ha nævnt fra starten (my bad). Skal jeg copy/paste det over i en consol app eller noget andet ? Vil det give et andet resultat ?
Og hvad angår katagori for dette spørgsmål, så ved jeg ikke om jeg valgte rigtigt. Hvis ikke så skal der hermed lyde en undskyldning til admin :-)
angående det med kategori, er det fordi jeg selv synes den burde ligge i både ASP.NET og C# altså et helt ny kategori her på eksperten, da der jo kommer flere og flere til ASP.NET. Folk kan jo også bruge J# og og VB# til asp.net
Altså en NullReferenceException når jeg forsøger på at kalde aReader.Close() i finally blokken.
Hvorfor bliver SqlExceptionen ikke fanget først når den står i try sætningen ? Eller det gør den måske også, men da den er unhandlet, returnerer den bare den før den returnerer SqlExceptionen som er handlet i en catch blok ???
Det har du for så vidt ret i buzzzz, meeeeeeen nu får vi bare ikke altid alting som vi gerne vil ha dem her i livet ;-)
Men man kan vel også sige, at så længe det allesammen er .NET sprog, så kan man jo ofte godt bruge et svar lavet i et andet sprog end det man selv lige skriver i. Så måske derfor de har valgt ikke at opdele ASP.NET i de forskellige sprog.
Hvis du smider et svar Arne v, så får du pointene for at foreslå at jeg flyttede det over i en console app. Der lærte jeg lige noget meget nyttigt !!! BETYDELIGT nemmere at debugge en console app. (i hvert fald når man er noob ;-) )
I må gerne lige forklare mig det jeg spørger efter i mit indlæg kl. 17.38. Det forvirrer mig lidt.
Ja arne v, det var lige at teste på den inden jeg kaldte Close() jeg glemte. Det er rettet nu og alt virker som det skal. SÅdan er det at være noob, de fleste fejl jeg laver er sådan nogle tåbelige forglemmelser.... Men så glemmer jeg det forhåbentligt aldrig igen :-)
Der er lidt point til dig arne v. Og der er tak til jer andre :-)
Synes godt om
Ny brugerNybegynder
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.