Если вы обрабатываете исключение самостоятельно, почему бы вам не вызвать функцию, чтобы сообщить о ней?
try {
[your code]
} catch (BadCodeException e) {
[handle error]
MyErrorHandler.ReportError(e);
}
А затем
void ReportError(Exception e) {
// Take the stack trace, error message, and what ever else comes to your mind,
// and mail it or store it somewhere or whatever.
}
Что касается вашего другого вопроса - я верю это был Android 2.0.Затем в Android 2.2 были введены трассировки стека в ситуациях ANR (приложение не отвечает).
Кроме этого, после обработки исключения оно обрабатывается.Вы можете решить не обрабатывать его и дать вашему потоку обработчик необработанных исключений, но это затруднит восстановление после ошибки.