python之异常

 1 '''
 2  异常的概念 :代码产生错误,无法继续执行
 3  异常的产生
 4  异常的捕获与处理
 5  函数调用栈
 6  自定义异常
 7 '''
 8 #导入模块,可以打印出报错的详细信息
 9 # import traceback
10 #
11 # # 异常的产生, 解决方法:1.if 过滤(这个方法适合提前已知可能出现的bug)
12 # # 2.事后处理 :可以处理未知的异常  try: except:
13 # while True:
14 #     num = input('input a num:')
15 #     try:
16 #         print('100 / %s = %s' % (num,100.0/int(num)))
17 #     # except ZeroDivisionError:#捕获处理这种异常
18 #     #     print('处理方案,除数不能为0')
19 #     #     #打印出具体异常是什么,用as + 变量 ,然后打印出变量
20 #     # except ValueError as error:  # 捕获处理这种异常
21 #     #     print('处理方案,除数不能为非数字字符',error)
22 #         #获取所有异常
23 #     # except Exception:
24 #     #     print('有异常,但不清楚是什么异常')
25 #     #简写 捕获所有异常
26 #     except:
27 #         print('缩写,但不清楚是什么异常')
28 #         print('缩写',traceback.format_exc()) #打印出报错的详细信息 ,展示报错的行号
29 
30 
31 # 函数调用栈 ,异常是从下一层层往上抛的 ,f3报错,一层层都会报错,所以下面总共有4个错误
32 #自己写的代码的话,一般在最下面的那行报错就是报错的原因
33 #如果调用第三方库报错,最下面的那行报错一般不知道是什么错误,一般就看在哪里调用的第三方库的方法
34 #这种多层报错的,一般都是哪边方便加就到哪边加异常处理
35 # def f3():
36 #     print("in - f3,start")
37 #     b = 4/0 #这里会报错
38 #     print("in - f3,end")
39 # def f2():
40 #     print("in - f3,start")
41 #     f3()
42 #     print("in - f3,end")
43 #
44 # def f1():
45 #     print("in - f3,start")
46 #     f2()
47 #     print("in - f3,end")
48 # f1()
49 
50 #自定义异常
51 # #异常是个类,自定义的异常需要先抛出再进行捕获 ,抛出是raise
52 # class nameTooLongError(Exception):#要继承Exception这个类
53 #     err = 'name.long'
54 #     print('nameTooLongError')
55 #     def methFun(self):
56 #         pass
57 # #自定义异常类 -过短异常,继承
58 # class nameTooshortError(Exception):
59 #     print('nameTooshortError')
60 #
61 # def inputName():
62 #     name = input('请输入名字:')
63 #     if len(name) > 10:
64 #         raise nameTooLongError #自定义的异常要自行抛出
65 #     elif len(name) < 10:
66 #         raise nameTooshortError
67 # try:
68 #     inputName()
69 # except nameTooshortError:
70 #     print("您的名字过短")
71 # except nameTooLongError:
72 #     print("您的名字过长")
73 
74 #断言
75 tel = input('请输入手机号:')
76 assert len(tel) == 11,'手机号位数错误'
77 print('位数正确')
原文地址:https://www.cnblogs.com/zhaobobo001/p/14418014.html