webForumDet fria alternativet

Strategi för felhantering i BLL?

.NET

3 svar · 473 visningar · startad av Lukaspojken

Medlem sedan maj 20011 312 inlägg
Frågan#1

Jag brukar oftast enbart logga alla fel som uppstår i applikationer och presentera ett generellt fel för användaren. I enstaka fall skapar jag en speciell hantering av fel. Men nyligen fick jag se ett BLL där alla metoder ser ut ungefär som nedan. Jag kände rent spontant att det kändes onödigt att ha en massa felhantering i metoderna om syftet ändå är att logga det i slutändan och inte hantera det på något speciellt sätt. Eller tänker jag fel? Eller skapar ni felhantering i alla metoder i BLL?

public X FetchX()
        {
            try
            {               
				//Nån form av affärslogik
            }
            catch (DatabaseException dbEx)
            {
                bool rethrow = ExceptionPolicy.HandleException(dbEx, "Business Logic Policy");

                if (rethrow)
                {
                    throw;
                }
            }
            catch (CategoryException entityEx)
            {
                bool rethrow = ExceptionPolicy.HandleException(entityEx, "Business Logic Policy");

                if (rethrow)
                {
                    throw;
                }
            }
            catch (Exception ex)
            {
                bool rethrow = ExceptionPolicy.HandleException(ex, "Business Logic Policy");

                if (rethrow)
                {
                    throw;
                }
            }
Medlem sedan aug. 20003 575 inlägg
#2

Ska du inte göra något speciellt vid Exception så tycker jag iallfall att du bara skall använda catch på exception

Medlem sedan maj 20012 812 inlägg
#3

Om du inte skall göra något med ditt fel, alltså typ kanske lösa problemet eller kapsla in det i ett eget fel, så finns det ingen som helst anledning att ens fånga felet.

Det är bara om du tänker göra något med felet (förutom logga det) som det är lönt att fånga och behandla det. Många gånger så kan man dock ha egna feltyper som kan innehålla extra information, och då kan det vara bra att fånga felet och sedan kasta den nya feltypen upp i hirakin, men skall du inte göra något, så låt det vara...

- M

Medlem sedan maj 20011 312 inlägg
#4

Då var det som jag misstänkte. Tack!

260 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)