Often you need to change the kind of an exception, after which you can preserving the first exception as inner exception is the best you are able to do. Although it should be toss new MyCustomException(myMessage, ex); not surprisingly.To make it evident what is going on there, know this one particular command above is similar to these 3A reference