webForumDet fria alternativet

Kasta Exception uppåt och hantera i BLL?

.NET

5 svar · 604 visningar · startad av CatZ

Medlem sedan jan. 20022 440 inlägg
Frågan#1

hur fångar jag ett undantag i mitt DAL och kastar upp det till affärslagret och gör nåt med det där? För det är väl så man ska göra?

Medlem sedan jan. 20023 327 inlägg
#2

Blev fel. Se SPINS svar.

Medlem sedan mars 20007 896 inlägg
#3
try {
   /* */
} catch(RuntimeException e) {
   throw new MyOwnException("RuntimeException in ** at **: " + e.Message);
}

Alternativt kan du ju strunta i att fånga det i DAL och enbart fånga det i business. Men det kanske är skönare att skapa egna exceptions. :)

Medlem sedan jan. 20022 440 inlägg
#4

aaah ok så man kan fånga exceptions utan att använda try / catch / finally då antar jag.

I BLL:

if (metodenLyckades)
{
    //Gör ingenting
}
else
{
    throw new Exception("Det blev fel!!!");
}

Kan man göra så?

Medlem sedan mars 20007 896 inlägg
#5

Du kan inte fånga exceptions utan ett catch()-block - däremot kan du kasta nya exceptions hur mycket och hur ofta du vill. Så visst fungerar din kod, men frågan är om det är bra/rätt? Du bör hålla logiken vid logiken, om du förstår vad jag menar. :)

Medlem sedan jan. 20022 440 inlägg
#6

Förstår precis vad du menar ;)

256 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)