Поймать общее исключение - плохая идея, если вы ожидаете, что он будет генерировать только один или два конкретных типа исключения для ошибок, связанных с синтаксическим разбором. Обычно лучше поймать каждый конкретный тип исключения и обрабатывать его независимо, чтобы ваш код не подавлял какую-либо другую (возможно, непредвиденную) ошибку (например, если файл отсутствует или время подключения к сети, следует ли его обрабатывать в точно так же, как если бы файл содержал поврежденные данные?)
Однако уловка общего исключения - отличная идея, если вы намеренно нуждаетесь/хотите поймать все возможные ошибки и изящно продолжать. Это может произойти, если обработка всех типов ошибок одинакова (например, «если по какой-либо причине я не могу прочитать это значение предпочтения, я верну его значение по умолчанию 5» - это бесконечно лучше, чем сбой вашей программы, потому что вы не " t понимают, что это может вызвать исключение из-за сетевого таймаута). Если использовать разумно, этот подход может сделать вашу программу пуленепробиваемой, но если ее использовать неразумно, вы можете подавить ошибки, о которых вам нужно знать и исправить, и это может быть очень болезненным.
При подавлении любых исключений вы всегда должны внимательно относиться к сообщениям об ошибках - должны ли вы сообщить пользователю, что у вас возникла проблема? Если вы зарегистрируете его в файле трассировки, чтобы, когда клиент жалуется на что-то, что не работает правильно, вы можете вернуться к источнику проблемы? Или вы должны молча игнорировать его?Просто будьте осторожны, так как чрезмерно усердные подавления могут затруднить работу прогамы, которая непредсказуемо ведет себя.
Ловля общего исключения - плохая идея. Вы должны улавливать только те исключения, с которыми вы можете справиться. Это неоднократно возникало при переполнении стека. – ChrisF
Вы хотите игнорировать все данные текущего анализа или просто строки/элементы/символы, которые являются плохими? – hemp
И здесь я думал, что это будет о том, чтобы отклониться от китайской пищи от обычной пиццы пепперони. (Неужели плохо, когда ребята, которые отвечают за доставку, знают ваше имя, что вы делаете и немного о проектах, над которыми работаете?) – Brad