When something fails, you have, I think, the following possibilities to react:
1. Recover (restart, reload, reconnect, etc.),
2. fallback (try again with default values, default renderer, etc.),
3. log the failure for future improvement,
4. do nothing.
In my private projects I don't have time to develop recovery strategies or implement alternative engines or offer alternative servers. My projects are small. I also don't expect the user to send me the error log. So I choose number 4 and rely more on testing.
To answer your question, I print the exceptions when they happen:
1 2 3 4 5 6 7
| void foo() { try { } catch(Throwable t) { t.printStackTrace(); } } |