You should add the following line to InputConverter before trying to parse the input as an int: if (str == null) return Left(InvalidInputFailure()); otherwise an unhandled exception is thrown that is not covered in your exception handling.