I am sure we have all run into a scenario where a 3rd part API complains with an incomplete stack trace. In essence the error handling in the 3rd party API does something like this,
catch (WhateverException e) { throw new ConfusingException("Something terrible happened, BUT I won't tell you what!"); } Now here when the ConfusingException is thrown it doesn't pass WhateverException as the cause in the second param, and hence when the someone using this API gets the exception they wouldn't get the whole trace. Sadly, it is still common to see people write such code and it gets worse when you have no control over the code.
What is the strategy you would follow when faced with the situation - how do you find the exception message and line on which WhateverException was raised?