>>26
Exceptions aren't as slow as you'd think, but they're reasonably costly (let's say 10k cycles on average, but it totally depends on the individual handlers). How often do you think people would dereference NULL? Whenever it happens on modern OS'es, it's almost always an error, so the cost is justified.