Python异常


Python异常

01.异常的概念

  • 程序运行时,如果Python解释器 **遇到 **一个错误,会停止程序的执行,并且提示一些错误信息,这就是 异常
  • 程序停止执行并且提示错误信息,这个动作,我们通常称之为:抛出(raise)异常
num = int(input('请输入一个数字:'))  ## 让用户输入一个整数。
print(num) ## 打印。

​ 正常输入整数是不会报错的,而用户输入的不是整数的话就会报错,针对这一情况,就需要异常语句来处理。当出现报错时,给出一定的提示!,通过 **异常捕获 **可以针对突发事件做集中的处理,从而保证程序的 稳定性和健壮性。

02 .异常的捕获

2.1简单捕获异常语法

try:
    尝试运行的代码
 except:
    出现错误运行的代码

2.2错误类型捕获

  • 在程序运行时,可能会遇到不同类型的异常,并且需要 针对不同类型的异常,做出不同的响应,这个时候,就需要捕获错误类型了。

  • 语法如下:

    try:
        尝试运行的代码
    except 错误类型1:
        针对错误类型1执行的代码
    except 错误类型2:
        针对错误类型2执行的代码
    except Exception as result:
        print(f'未知错误{result}')
    
  • 当python解释器 抛出异常时,最后一行错误信息的第一个单词,就是错误类型。

  • 捕获未知错误,在程序开发时,会出现没有预料到的报错,这时候就可以使用捕获未知错误

  • 代码如下:

    except Exception as result:
        print(f'未知错误{result}')
    

    2.3异常捕获的完整语法

try:
    尝试运行的代码
except 错误类型1:
    针对错误类型1执行的代码
except 错误类型2:
    针对错误类型2执行的代码
except Exception as result:
    print(f'未知错误{result}')
else:
    没有错误才会执行的代码
finally:
    无论是否有异常,都会执行的代码

03.异常的传递

  • 异常的传递 - - 当 函数/方法 执行 出现异常,会 将异常传递 给函数/方法 的 调用一方
  • 如果 传递到主程序,仍然 没有异常处理, 程序才会被终止

提示

  • 在开发中,可以在主函数中增加 异常捕获

  • 而在主函数中调用的其他函数,只要出现异常,都会传递到主函数的 异常捕获

  • 这样就不需要再代码中,增加大量的 异常捕获,能够保证代码的整洁

04.抛出 raise 异常

4.1应用场景

  • 在开发中,除了 代码执行出错Python解释器会**抛出 **异常之外

  • 还可以根据 应用程序 特有的业务需求 主动抛出异常

    示例:

  • 提示用户 输入密码,如果 长度少于8,抛出异常

def input_password():
    password = input('请输入密码:')
    if len(password) >= 8:
        return password
    raise Exception('密码长度不够!')  # 主动抛出异常


try:
    input_password()
except Exception as result:  # 捕获异常
    print(result)  # 打印异常信息

文章作者: Zhaotao
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Zhaotao !
评论
  目录