In some cases you need to modify the type of an exception, then holding the initial exception as inner exception is the greatest you are able to do. However it should be throw new MyCustomException(myMessage, ex); of course.toss is for rethrowing a caught exception. This may be helpful if you need to do some thing While using the exception just bef