28. november 2008 - 10:24Der er
8 kommentarer og 3 løsninger
Placering af exceptions
Hejsa,
Er der nogen tommelfingerregel for hvor man placerer sine egne exceptions-klasser i sit C# projekt. Skal man holde dem i sit eget namespace eller skal de placeres ved de relevante klasser, som benytter dem?
Placer dem der de bliver brugt. Hvis de bliver brugt fra flere namespaces, så placer dem laveste hirakiet.
Hvis du eksempelvis har har en Exception der bliver brugt af klasser i DitNamespace og i DitNamespace.DitSubNamespace, så placerer du Exceptionklassen i DitNamespace.
Dette er dog et subjektivt spørgsmål. Der er ingen regler for dette, du kan gøre det som du synes er bedst. Men som jeg har beskrevet det i min tidligere kommentar, er måden som Exceptions i .NET Frameworket er placeret.
Der vel ikke "regler" på området, men rettere "Best practise".
Jeg placere mine egne exceptions sammen med de relevante klasse. Derfor er det hvordan jeg strukturere mine klasse generelt der afgøre placeringen af de enkelte exception klasser.
Dermed ikke sagt, at denne fremgangsmåde er "Best practise", men for mig personligt mest overskueligt.
Jeg har som regl en exception klasse i mit projekt et sted. Og fra min frontend eller backend kode kalder jeg så metoder i denne klasse. Jeg kan godt lide at holde dem sammen. Det synes jeg er mest overskueligt :-)
De skal naturligvis placeres der hvor de logisk hører til.
D.v.s. at de placeres sammen med de andre klasser som dit lag/modul/komponent/whatever exposer. D.v.s. sammen med interfaces, factories, data klasser etc.. Muligvis men ikke nødvendigvis sammen med de implementations klasser som smider exceptions (afhænger af om de er i samme namespace eller om de er i et sub namespace).
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.