Why are .Net programmers so afraid of exceptions?
Question: First of all, I'm not trying to be critical of anyone here or saying that all
.Net programmers are this way. But I'm definitely noticing a trend: .Net
programmers seem to avoid exceptions like they're the plague.

Of course, there's always the [Raymond
Chen](http://blogs.msdn.com/oldnewthing/archive/2004/04/22/118161.aspx) blog
post about how hard exceptions can be to handle. But that doesn't just apply
to .Net.

In a lot of other languages/environments, I don't notice that programmers are
as likely to avoid exceptions as they are in .Net. Heck, in Python, exceptions
are thrown in normal program execution (iterators throw StopIteration
exceptions).

So what am I missing here? Or am I totally off base in thinking that .net
programmers avoid exceptions more than others?


Answer: Performance is the fear monger's buzzword when it comes to exceptions - but
that really only applies to throwing them or handling them in tight loops, or
for when relying on them for control flow. Personally I see exceptions as
another tool in my toolbox; I'm not scared of them at all. Ideally when you
use exceptions you're using them in exceptional circumstances - that is,
should no longer be concerned with performance, but rather with fixing the
problem (rare) or failing fast and notifying the user / logging / etc.

Edit: JaredPar mentioned a great quote regarding this that I feel is important
enough to repeat: "If you're worried about Exception performance, you're using
them incorrectly." Once we find attribution I'll amend this post to include
it.

