The following exceptions are probably very similar:
ArgumentExceptionArgumentNullExceptionInvalidOperationException-
ObjectDisposedException.- Should I throw them in my code?
- Should I catch them?
InvalidOperationExceptionis a very vague and broad exception as it means a method tries something that is not possible due to state (e.g. start a win svc which may not be startable).
It all depends on what you’re doing. Except for the ObjectDisposedException, which is something you should leave to the run-time, all of these are acceptable to throw in appropriate situations.
Do you expect some of these to occur then by all means, catch them and handle the situation appropriately.