My favorite part of coding is hunting down the Ghost error. This error will show up with a error message that does not mean anything. After hunting it down, you find where you think the error is. You comment out the offending code and rerun. Low and behold the error still shows up. different line number but exact same error.
My favorite example of this is the AutomationException error. This error is thrown by the java - com bridge(There are two words that should never go together). There was no error message just a stack trace of where to start the hunt. After a couple of weeks hunting this, I found out that it was a credential issue(Other developers with the keys to the kingdom had changed the password)