python学习24之异常

1. 广义上的错误分为错误和异常

错误指的是可以人为避免

异常是指在语法逻辑正确的前提下出现的问题

在python中,异常是一个类,可以处理和使用

2. 异常处理

不能保证程序永远正常运行,但是必须保证程序在最坏的情况下得到的问题被妥善处理。

python的异常处理模块全部语法为:

try:

  代码模块1

except 异常类型1:

  解决方案1

except 异常类型2:

  解决方案2

except (异常类型1,异常类型2...):

  解决方案:针对多个异常使用相同的处理方式

except:

  解决方案:所有的异常的解决方案

else:

  如果没有出现任何异常执行的代码

finally:

  无论代码模块1出错与否都会执行的代码

 

除了except以外都是可选的

3. 抛出异常

当某些情况,用户希望自己引发一个异常的时候,可以使用

raise 关键字来抛出异常

try:
    print("hello world")
    raise ValueError
    print("没想到吧")    #这句话不能被执行
except ValueError:
    print("出现了一个异常")

 

综上,执行顺序是:try执行过程中没有出现异常àelseàfinally

try出现异常à则从出现异常的点开始停止执行try中剩下的代码,直接跳转到对应except中去执行

4. 自定义异常

自定义异常必须是系统异常的子类

class 自定义异常(系统异常):

如:

class ZeroValueError(ValueError):
    '''
   
定义一个异常类,是valueerror的子类,
    该类的异常为如果你输入的值是0,则抛出这个异常
    '''
   
def __init__(self):
        print("你必须输入一个非0整数!")

try:
    n=int(input("请输入一个整数:"))
    if n==0:
        raise ZeroValueError
except ZeroValueError:
    pass

posted @ 2020-04-05 17:54  程序员王不错  阅读(148)  评论(0)    收藏  举报