#!/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}