title: Guidelines on Exception propagation (in Java)
body: <p>Are there any guidelines on exception propagation in Java?</p>
  
  <p>When do you add an exception to the method signature?
  For example: if an exception is only thrown when an essential program resource is missing, and can only be handled at the top level, do I propagate it through all methods using this exception through all the methods using the erring method?</p>
  
  <p>Are there any good practices? Any bad practices?</p>
  
  <p>I'm sorry if I'm being vague, but I'm just looking for some (general) advice on programming style concerning exceptions.</p>