1 class MyException(Exception): 2 """ 3 自定义异常,继承Exception 4 """ 5 def __init__(self, msg): 6 self.msg = msg 7 8 def __str__(self): 9 """10 当实例化对象后,print对象将打印该值11 """12 return self.msg13 14 myexception = MyException15 try:16 17 num1 = input("num1:")18 num2 = input("num2")19 num1 = int(num1)20 num2 = int(num2)21 result = num1 + num222 print(result)23 raise myexception("yes. it's ok")24 except ValueError as v:25 print("value error", v)26 except myexception as e:27 print(e)28 except KeyboardInterrupt:29 print("上面无法抓住终止")30 except InterruptedError:31 print("test")32 except SyntaxError:33 print("该异常无法捕获")34 except IndentationError:35 print("该异常依然无法捕获")36 except Exception:37 print("no")38 else:39 print("一般测试用例,或者安装,可以使用,比如安装成功,没有错误")40 finally:41 print("不管前面什么错,最终都会执行这里,除了语法,缩进以外")
断言
断言一般用于条件匹配,如果条件不满足,则不会进行下去,除非刻意去捕获处理
1 a = ["1", "2", "3"]2 filter_a = filter(lambda i: int(i) < 2, a)3 print(list(filter_a))4 try:5 assert len(list(filter_a)) == len(a)6 7 except AssertionError:8 print("条件不匹配,")