number = input('please type a number:')
try:
number = number + 1
except Exception as e:
print('Error: {}'.format(e))
else:
print('number: {}'.format(number))
finally:
print("That's all!")
please type a number:6
Error: must be str, not int
That'sall!
修改代码:
number = input('please type a number:')
try:
number = int(number)
number = number + 1
except Exception as e:
print('Error: {}'.format(e))
else:
print('number: {}'.format(number))
finally:
print("That's all!")
这段代码对number进行了强制类型转化,避免了报错,所以执行了else内的代码。
代码运行结果:
please type anumber:6number: 7
That's all!
4.raise手动抛出异常
接着修改上述代码:
number = input('please type a number(max=100):')
try:
number = int(number)
number = number + 1ifnumber > 100:
raise ValueError
except ValueError as e:
print('Error: number must be smaller than 100')
else:
print('number: {}'.format(number))
finally:
print("That's all!")
这里手动抛出一个值异常,并对这个异常进行了异常处理。
运行结果:
please type anumber(max=100):200
Error: number must be smaller than 100
That's all!
5.多异常处理
修改上述代码:
number = input('please type a number(max=100):')
try:
number = int(number)
number = number + 1
except ValueError as e:
print('Error: {}'.format(e))
except IOError as e:
print('IOError: {}'.format(e))
finally:
print("That's all!")