Refactoring. Changed NegativeNumberException to extend IllegalArgumentException.