Перейти к содержимому

Пример программы на Python-3 для изучения вызова исключений, другими словами обработка ошибок.

#!/usr/bin/env python3
'''
#Пример программы для изучения вызова исключений, т.е. обработка ошибок.
#Мы 
'''
def getDefaultConf(x, y):
    return x+y


print ('#Вариант 1')
def getDefault(x, y):
    try:
        return getDefaultConf(x,y)
    except Exception as e:
        print("Возникла Ошибка! ", "Failed to get default parametres: "+str(e))
        print(e.__class__) #Тип Ошибки
        return None
#"s3" специально вводим не числовой параметр чтобы происходила ошибка.
data_A = getDefault(2,"S3"); print(data_A)
data_B = getDefault("S3",2); print(data_B)
data_C = getDefault(6,11); print(data_C)
data_D = getDefault(9,4); print(data_D)
data_E = getDefault(5,13); print(data_E)

print('*'*60)


print ('#Вариант 2')
def getDefault_v2(x, y):
        return getDefaultConf(x,y)


#"s3" специально вводим не числовой параметр чтобы происходила ошибка.
params = {
    "A": (2, "s3"),
    "B": ("s3", 2),
    "C": (6, 11),
    "D": (9, 4),
    "E": (5, 13),
}

data = {}
for key, args in params.items():
    try:
        data[key] = getDefaultConf(*args)

    except Exception as e:
        print("Возникла Ошибка! ", "Failed to get default parametres: "+str(e))
        print(e.__class__) #Тип Ошибки

print(data)
#Вариан 1
Возникла Ошибка!  Failed to get default parametres: unsupported operand type(s) for +: 'int' and 'str'
<class 'TypeError'>
None
Возникла Ошибка!  Failed to get default parametres: can only concatenate str (not "int") to str
<class 'TypeError'>
None
17
13
18
************************************************************
#Вариан 2

Возникла Ошибка!  Failed to get default parametres: unsupported operand type(s) for +: 'int' and 'str'
<class 'TypeError'>

Возникла Ошибка!  Failed to get default parametres: can only concatenate str (not "int") to str
<class 'TypeError'>
{'C': 17, 'D': 13, 'E': 18}

Добавить комментарий