There is nothing wrong with the following pattern:
try { // Do Something } catch (GeneralException ex) { throw new SpecificException( String.Format("More specifics ({0}) in message", someData), moreContext, new {even, more, context}, ex); }
This is exactly the template that should be used, for example, when "Do Something", say, opens some kind of file. "SpecificException" may be "unable to read configuration file".
source share