美文网首页
【13】异常

【13】异常

作者: Z_JoonGi | 来源:发表于2019-03-19 18:58 被阅读0次

1.异常:

程序错误,程序崩溃,程序中某条语句出现异常,那么从这条语句开始,后面的代码不会执行,程序直接结束

2.异常捕获:

让程序出现异常的时候,出现不崩溃

1)方式一:捕获所有类型的异常

a.语法

try:
  代码段1
except:
  代码段2
finally:
  代码段3
其他语句

b.说明

2)方式二:捕获指定的一个或多个异常,做相同的处理

a.语法

try:
  代码段1
except 异常类型:
  代码段2
finally:
  代码段3
其他语句



try:
  代码段1
except (异常类型1,异常类型2):
  代码段2
finally:
  代码段3
其他语句

b.说明

  • 先执行代码段1,如果代码1没有异常,直接执行后面的其他语句;
  • 如果代码段1出现异常,如果这个异常的类型和需要捕获的类型一致,程序不崩溃,直接执行代码段2,然后再执行其他语句;
  • 如果代码段1出现异常,如果这个异常的类型和需要捕获的类型不一致,程序崩溃
注意:异常类型要求必须是直接或间接继承Exception类的子类

3)方式三:捕获不同类型的异常,并且对不同的异常做不同的处理

try:
  代码段1
except 异常类型1:
  代码段2
except 异常类型2:
  代码段3
except 异常类型3:
  代码段4
...
finally:
  代码段3
其他语句

3.finally

  • finally后面的代码段,不管try中的代码发生了什么,都会执行。

4. 抛出异常

a.语法
raise 异常类型
b.说明:
  • raise:关键字
  • 异常类型:可以是系统提供的异常类型,也可以自定义异常类型(必须继承Exception

5.自定义异常类型

写一个类继承Exception,然后重写__str __方法来自定义错误信息。

class  WeekValueError(Exception):
    def __str__(self):
        return '错误'
    
raise WeekValueError

相关文章

网友评论

      本文标题:【13】异常

      本文链接:https://www.haomeiwen.com/subject/uylnmqtx.html