Ловить исключения с помощью python easysnmp

Кажется, я не могу найти документацию или примеры того, как перехватывать исключения с помощью библиотеки Python easySNMP

https://easysnmp.readthedocs.io/en/latest/exceptions.html показывает, какие исключения генерируются, но я получаю ошибки при попытке их перехватить

Упрощенный код:

from easysnmp import Session
try:
    session = Session(hostname=host,community=community, version=2)
except:
    print("ERROR - SNMP error:")
    sys.exit(3)    

def check_snmp(oid):
    try:
        ret = session.get(oid).value
    except easysnmp.EasySNMPNoSuchInstanceError:
        ## Return false if OID doesn't exists
        return 0
    except session.EasySNMPError as e:
        ## Print the error on general errors
        print("ERROR - SNMP error: {}".format(e))
    return 1

if check_snnp('ifalias.4'):
    print("SNMP returned true")

Выход:

Traceback (most recent call last):
    File "./check_ip_route", line 72, in <module>
    if check_snmp(oid):
    File "./check_snmp", line 45, in check_snmp
        except easysnmp.EasySNMPNoSuchInstanceError:
    NameError: name 'easysnmp' is not defined

1 ответ

Решение

Ваша ошибка говорит name 'easysnmp' is not defined.

Это потому, что вы не импортировали его.

Вместо этого вы импортировали from easysnmp import Session

тебе нужно сделать import easysnmp

Другие вопросы по тегам