BZ易风

导航

 
 1 # 异常捕获的完整语法
 2 try:
 3     # 定义接收的整数
 4     num = int(input("请输入一个整数:"))
 5 
 6     # 8除以接收的整数
 7     result = 8 / num
 8 
 9     # 捕获异常的语法
10 # except 错误类型1
11 except ZeroDivisionError:
12     print("不能除0")
13 # except (错误类型2,错误类型3)
14 
15 #except 未知错误 考虑不到的错误
16 except Exception as result:
17     print("未知错误")
18 
19 else:
20     #没有异常才会执行的代码
21     print(result)
22 finally:
23     #无论有没有异常都会执行的代码
24     print("无论有没有异常都会执行的代码")
25 
26 
27 # 异常传递
28 # 当函数/方法执行出现异常,会将异常传递给调用的一方
29 def demo1():
30     return int(input("请输入一个整数:"))
31 
32 def demo2():
33     return demo1()
34 
35 try:
36     print(demo2())
37 except ValueError:
38     print("请输入一个正确的整数")
39 
40 
41 # 主动抛出异常
42 def input_password():
43     # 1.提示用户输入密码
44     password = input("请输入密码:")
45     # 2.如果密码长度大于8则返回密码
46     if len(password) >= 8:
47         return password
48     # 3.如果小于8则抛出错误
49     print("主动抛出异常")
50     ex = Exception("密码长度不够")
51     raise ex
52 
53 try:
54     print(input_password())
55 except Exception as result:
56     print(result)

结果显示

请输入一个整数:0
不能除0
无论有没有异常都会执行的代码
请输入一个整数:0
0
请输入密码:12345678
12345678

  

posted on 2019-08-13 14:30  BZ易风  阅读(157)  评论(0编辑  收藏  举报