异常的语法结构
领取Python学习资料可以加小编的微信:TZ20200688
异常基本语法以及指定异常;
try:
num = int(input("请输入: "))
res = 8 / num
print(res)
except ValueError:
print("请输入数字!")
except ZeroDivisionError:
print("除0错误!")
未知错误的异常处理代码演示;
try:
num = int(input("请输入: "))
res = 8 / num
print(res)
except ValueError:
print("请输入数字!")
except Exception as result:
print("未知错误 %s" % result)
else: # 注意这个是没有发生异常才会执行
print("尝试成功!")
finally:
print("无论是否发生异常都执行的代码!")
print("*" * 50)
测试:
请输入: 0
未知错误 division by zero
无论是否发生异常都执行的代码!
**************************************************
和Java一样,也有异常的传递性;
def demo1():
return int(input("请输入一个数: "))
def demo2():
demo1()
try:
demo2()
except Exception as result:
print("未知错误 %s" % result)
测试:
请输入一个数: a
未知错误 invalid literal for int() with base 10: 'a'
类似Java中的throw关键字,raise抛出异常对象;
def input_password():
pwd = input("请输入密码: ")
if len(pwd) >= 6:
return pwd
raise Exception("密码长度小于8...")
try:
input_password()
except Exception as result:
print(result)
运行结果:
请输入密码: sdf
密码长度小于8...