проблема в том, что каждый раз, когда я получаю строку с неверной информацией из таблицы excel, мой код перестает работать, а API возвращает исключение.
Продолжение процесса послеисключение никогда не было хорошей идеей. В лучшем случае то, с чем вы работаете, теперь находится в недопустимом состоянии и будет выдавать больше исключений «InvalidState» при каждой следующей попытке доступа. В худшем случае, он полностью сломан и приведет к совершенно непредсказуемому поведению, потому что он предполагает, что вы не сделаете что-то настолько плохое. Такое поведение может привести к тому, что Windows выгонит ваш процесс из-за нарушений доступа к памяти.
Существует базовая классификация , которую я использую для исключений. Хотя это исключение в худшем случае является экзогенным исключением для вашего кода, его следует считать фатальным для анализатора и данного документа. Продолжая после этого, не собираюсь добавлять какую-либо ценность. В лучшем случае он добавляет больше бесполезных сообщений об ошибках, которые скрывают настоящую ошибку.
90% случаев, когда вы получаете ошибку компилятора, вы получаете сообщение, потому что синтаксис неправильный. И часто это так неправильно, синтаксический анализатор исходного кода не может больше понять, что он видит. Он не сможет сказать вам , где проблема даже .
Вы должны выставить / зарегистрировать каждое исключение, прекратить синтаксический анализ после первого и попросить пользователя разобраться с проблемой (чтоявно за пределами вашей работы).