Как по мне, то я всегда перекидываю сообщение передав внутреннее
...
catch(Exception e)
{
throw new Exception("my comment",e);
}
...
, а в одном месте программы перехватываю все исключения и там уже смотрю кто оно, и кто послал, и соответсвенно делаю выводы: в лог, тлт сразу на почту, или в баг трекер (еще этот же выбор, в зависимости от типа исключения, можно предоставить пользователю, так как это сделано в винде).
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>