Joshua Engel, Been writing Java since beta; author of Programming for the Java Virtual Machine
You rethrow (or throw) an exception when you can't restore the state of the system to one that meaningfully allows further processing.
The notion of "meaningful" varies from situation to situation, and so the assignment of exceptions to "checked" and "unchecked" is a little arbitrary. There will be situations in code where you have to take an exception o...(more)
They do get revised periodically at the highest level of the company (i.e. by Jeff B and his senior team) so currently there's 14. You're right they get used constantly throughout the company (hiring, reviews, giving feedback, decision making) and unlike many other places that I've worked are a constant source of reference. if you get asked a non technica...(more)
Disclaimer: Some of these talks are old, though a number of them are still very educational if you interpret them in the appropriate context of the time they were presented. Talks I've watched and found great: