Skip to content

Latest commit

 

History

History
32 lines (25 loc) · 1.54 KB

I24.org

File metadata and controls

32 lines (25 loc) · 1.54 KB

I24: Olika metoder för felhantering

Ett generellt problem i systemutveckling är hur fel skall hanteras. Ofta uppstår felen i en del av programmet där det inte är lämpligt att hantera dem; t.ex. ett fel som uppstår djupt nere i ett bibliotek på grund av felaktigt indata från en annan modul, som rimligen är den plats som skulle kunna “åtgärda detta problem”. Ibland måste ett fel propageras hela vägen upp till användaren som måste åtgärda problemet, eller göra ett val mellan olika sätt att hantera den uppkomna situationen, och i andra fall kan man bara ignorera/undertrycka problemet. Tyvärr kan det vara så att samma fel hanteras på olika sätt i olika program, så det är ibland svårt eller omöjligt att bygga in åtgärder direkt där felet uppstår, speciellt om man skriver ett bibliotek eller kod som skall kunna återanvändas.

Hur relaterar ovanstående till följande koncept:

  • Crash don’t trash
  • Defensiv programmering
  • Undantagshantering (till exempel i Java)
  • Hur fel hanteras i C med errno

Ge exempel på hur dessa koncept använts i dina olika inlämningsuppgifter, och vad konsekvensen av att byta mellan dem i ett program skulle bli.


Report a bug on this achievement? Please place an issue on GitHub.