Ok i have just done a little test and the error is gone. (Change my main() method to)
Code:
/**
* Run from command line
*/
public static void main() throws IOException
{
    //Create a new library
    Library newLib = new Library();
    //Start command interface
    retrieveInput();
}
I don't understand why though, the exception would be in the method retrieveInput() and not in the main() method so why would i need to throw or catch an exception in a method where it will never occur?