Meistens macht man es sich bei der Entwicklung einfach und hat das Visual Studio so eingestellt, dass viele Exceptions einfach geschluckt und beim debuggen nicht angezeigt werden. Gerne packt man unsichere Stellen des Quellcodes in einen Try-Catch Block und ist froh das das Programm wie erwartet (erhofft) weiterarbeitet. Später vergisst man leicht die im Try-Catch-Block aufgetretenen Fehler abzufangen und auszuwerten.
Leider verursachen Exceptions jedoch immer kleine "Systembremsen", so dass sich ein paar Exceptions pro Seite schnell auf die Performance auswirken können. Im Output sehen wir dann z.B.: "Eine Ausnahme (erste Chance) des Typs "System.InvalidCastException" ist in Microsoft.VisualBasic.dll aufgetreten" was auch auf Probleme hinweisen kann.
Daher sollte Visual Studio so eingestellt sein, dass alle Exceptions sauber geworfen werden. Dazu muss unter:
Menü: DEBUGGEN->AUSNAHMEN->Common Language Runtime Exceptions
der Haken bei System (für alle Exceptions, die im Assembly System auftreten können) von "User Unhandled" auf "thrown" geändert werden.
Das Visual Studio verschluckt nun diese Exceptions nicht mehr, sondern zeigt alle an, so dass man sauberen Quellcode entwickeln muss.