Vinnaren i pepparkakshustävlingen!
2017-04-05, 10:57
  #1
Medlem
Hej,

Håller på att lära mig C# men har fastnat..
Skulle någon kunna förklara på ett nästan dumförklarande sätt hur catch och throw fungerar.
Jag förstår att inom ett try-block så körs koden tills ett fel uppstår, och programmet hoppas över till ett catchblock. Men vad throw har för funktion förstår jag inte.

Nån som vill hjälpa mig?
Citera
2017-04-05, 11:28
  #2
Medlem
Soluss avatar
try är som du säger kodblocket du vill testa
catch fångar upp eventuella fel och du bestämmer själv vad du gör med dem
throw använder du för att själv skapa felmeddelanden att "skicka tillbaka"
finally är ett sista kodblock som körs oavsätt om try lyckas eller ej.
Citera
2017-04-05, 11:59
  #3
Medlem
Tack för svaret!

Om man ska använda throw för att skapa egna felmeddelande så ser det ut ungefär såhär
antar jag:

throw new Exception("Fel");

Men jag har sett kod som ser ut såhär:

catch(Exception)
{
throw;
}

Vad innebär det, är det nåt man har användning för?
Citera
2017-04-05, 12:17
  #4
Medlem
Soluss avatar
I C# är syntaxen throw new Exception("Felmeddelande"); eller vad för typ av exception du vill använda. Det finns många olika. Här kan vara en bra sida att börja kika på: https://msdn.microsoft.com/en-us/library/ms173163.aspx

throw; i ett catch-block skickar felet som "orsakade" att programmet gick in i catch-blocket och återställer inte stack tracen.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback