Is it possible to formulate to have a guide-line to answer:
In what cases a developer should not handle a particular exception?
To express myself better, if a method is expecting one of the values of 1,2,3,4,5 for parameter: “Zeta” and from the business logic point of view if it is meaningless that 9 cannot be pased as a parameter value, should the developer still handle of a possible argument exception?
if you look at the Exceptions documentation from MSDN it states the following:
application in a known state. If you catch System.Exception, rethrow
it using the throw keyword at the end of the catch block.
So the developers should only catch the exceptions they can handle. If for example a user typed the number 9 which is considered an error, a message could be displayed to the user and ask for new input.
If the developer can’t handle the ArgumentException when 9 is passed he shouldn’t catch it.