>I will have to disagree with "and works for most of the cases" It does not ! This option is useless since it only work with the runtime and you actually have to run ALL the code which we all know it is impossible.
That's why I said "most" - it catches only what you go through while testing. The amount is directly proportional to the thoroughness of your testing, i.e. less than 100%. There are always some back corners you can't test, at least in the error department, where you may have code for errors which don't happen.