title: Why would a program silently fail?
body: <p>I have a legacy java app written up by a previous developer.  A bug has recently been found in it, and I've been given the task of fixing it.</p>
  
  <p>Part of the problem is that there were never any error messages reporting from it.</p>
  
  <p>By putting in a lot of logging messages, I finally narrowed it down to a specific line in the code - it's trying to run a method on a null object.</p>
  
  <p>This is something that SHOULD have thrown an error into the log.  Yet it hasn't.  And even fixing this one, there's a lot of this problem in the code - assuming something will have a value when it doesn't.  Every time I put in a data-verification for one, it fails somewhere shortly down the line for a very similar reason, and then I have to go through the hassle of putting in logging commands every other line again to finally narrow it down.</p>
  
  <p>Why would a java program be silently failing instead of throwing errors?  I can't seem to find any sort of setting suggesting that this is on purpose, but I'm really not even sure where to look for such a thing.</p>