Python自定义异常及抛出异常

Posted 云山之巅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python自定义异常及抛出异常相关的知识,希望对你有一定的参考价值。

 1 """
 2     自定义异常
 3 """
 4 class MyException(Exception): # 继承异常类
 5     def __init__(self, name, reason):
 6         self.name = name
 7         self.reason = reason
 8     
 9 from datetime import datetime
10 try:
11     if str(datetime.now()) > "2018":
12         raise MyException("TimeoutException", "time is overtime...")
13 except MyException as e:
14     print(e.name +":"+e.reason)
15     
16 """
17     抛出异常
18 """        
19 try:
20     6/0
21     raise
22 except Exception as e:
23     print(e)
 8 try:
 9     print("--------------")
10 except NameError as e: # 捕获NameError类型异常
11     print(e)
12 except Exception as e: # 捕获其它异常
13     print(e)
14 else:
15     print("没有异常会接着往下执行。。。")
16 finally:
17     print("最后一定执行。。。")
18    
19 # 测试捕获某种或某些种except
20 try:
21     print(aaa)
22     print("--------------") # 出现异常后不会执行下面的程序
23 except NameError as e: # 捕获NameError类型异常
24     print(e)
25 except Exception as e: # 捕获其它异常
26     print(e)
27 else:
28     print("没有异常会接着往下执行。。。")
29 finally:
30     print("最后一定执行。。。")
31 
32 # 测试捕获其它异常  
33 try:
34     open("a.txt")
35     print("--------------")
36 except NameError as e: # 捕获NameError类型异常
37     print(e)
38 except Exception as e: # 捕获其它异常
39     print(e)
40 else:
41     print("没有异常会接着往下执行。。。")
42 finally:
43     print("最后一定执行。。。")
44     
45 # 测试异常传递
46 def err():
47     print(aaa)
48     
49 try:
50     print("===============")
51     err()
52 except NameError as e: # 捕获NameError类型异常
53     print(e)
54     
55 print("use try will make your code beauty")

结果:

 

以上是关于Python自定义异常及抛出异常的主要内容,如果未能解决你的问题,请参考以下文章

python自定义异常抛出接受多个数值

python自定义异常和主动抛出异常

python 自定义异常/raise关键字抛出异常

python学习_异常和抛出

python中用来抛出异常的关键字是

python异常触发及自定义异常类