Таким образом, у меня был небольшой скрипт Python, который обрезает определенный веб -сайт для данных о продукте. Несколько функций, которые приносят данные, анализируются для одного типа контента, другой тип данных.
Теперь у меня была эта проблема, в которой селекторы CSS возвращают ни одного, который ломает все мои подлые индексы списка.
В настоящее время моя программа выглядит так.
def get_x_info(url): # piece of code that works all the time # piece of code that crashes return result
Применение Попробуйте, кроме
К совокупности, который сбои не был совсем убедительным из -за утомительной задачи, выполнить это со всем вероятным летучим кодом. И я не был уверен в том, какая часть может потерпеть неудачу.
Следовательно, Декораторы Python Анкет
Синтаксический сахар для функций обертывания с помощью многоразового кода.
Узнайте об этом здесь
Вот как я использовал декораторы, обрабатывая функции, которые бросают ошибки большую часть времени.
def safe_run(func): def func_wrapper(*args, **kwargs): try: return func(*args, **kwargs) except Exception as e: print(e) return None return func_wrapper
Теперь примените Safe_run
В качестве декоратора для объявлений функции в основном коде
@safe_run def get_x_info(url): ....
Быстрое ужасное исправление, которое работает:)
Оригинал: “https://dev.to/booterror/python-decorators-for-error-handling-50eb”