Python中的异常

1、什么是异常

  • 当我们运行一个程序时,如果python解释器遇到错误,会停止程序的运行,并返回一个错误信息,这就是异常。
  • 程序停止运行并提示错误信息,这个过程我们称之为抛出(raise)异常。

2、捕获异常

  • 在程序开发中,如果不能确定某些代码是否能正确的运行,可以增加try来捕获异常。
  • 捕获异常的语法格式:

try:

     尝试执行的代码

except:

     出现错误的处理

 

2.1、错误类型捕获

  • 在程序运行过程中,可能会出现不同的错误类型,针对不同的错误类型,需要我们做出不同的反应,这样就用的了错误类型的捕获。
  • 语法如下:

try:

   尝试执行的代码

except 错误类型1:

    针对错误类型1,需要进行的处理

except 错误类型2:

    针对错误类型2,需要进行的处理

except 错误类型3:

    针对错误类型3,需要进行的处理

except Exception as result:

      针对未知错误类型,需要进行的处理

  • 当异常抛出时,最后一行错误信息的第一个单词就是,错误类型。

 

2.2、异常捕获完整语法

try:

   尝试执行的代码

except 错误类型1:

    针对错误类型1,需要进行的处理

except 错误类型2:

    针对错误类型2,需要进行的处理

except 错误类型3:

    针对错误类型3,需要进行的处理

except Exception as result:

      针对未知错误类型,需要进行的处理

else:

    没有异常才会执行的代码

finally:

      无论程序正确或错误都需要运行的代码

 

3、异常的传递

  • 异常的传递---当函数/方法的执行出现异常,会将异常传递给函数/方法调用一方。
  • 如果传递到主程序,还没有进行处理,异常会被抛出。
  • 在函数的主程序中可以增加异常捕获,而这个主函数中调用的函数出现异常,都会传递到这个主函数的异常捕获中。
  • 这样可以保持代码的整洁性。

4、抛出异常

  • python中内置了一个Exception的异常类。
  • 在开发是如果满足特定业务的需求时,希望抛出异常,可以:
  1. 创建一个Exception对象。
  2. 使用关键字raise抛出异常对象。               

   

def input_password():
    pwd = input('请输入一个密码')
    if len(pwd) >= 8:
        return pwd
    print('主动抛出异常')
    # 创建异常对象
    ex = Exception('密码长度小于8')
    # 主动抛出异常
    raise ex

try:
    input_password()
except Exception as r:
    print(r)

 

在函数中主动抛出异常,在运行代码时进行异常捕获,这是两个步骤,需要分开写。

 

 

 

 

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值