I was deliberately avoiding an exactly check on the exception type. Contracts on exceptions are very hard to maintain and add little value as its generally polymorphically handled (it is in this case.)