admin管理员组

文章数量:1794759

python中的异常处理(try,except,else, finally)

python中的异常处理(try,except)

简介

异常处理

捕捉异常可以使用try/except语句。 try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。 如果你不想在异常发生时结束你的程序,只需在try里捕获它。

语法: 以下为简单的try…except…else的语法:

代码演示

了解异常
代码语言:javascript代码运行次数:0运行复制
# 异常演示
f = open("lihua.txt", 'r')	

演示效果

异常的捕获方式
  • 基本语法演示
代码语言:javascript代码运行次数:0运行复制
try:
    可能发生错误的代码
except:
    如果出现异常执行的代码

代码演示

代码语言:javascript代码运行次数:0运行复制
try:
    f = open('lihua.txt', 'r')
except:
    f = open('lihua.txt', 'w')

运行结果 可以看出来当发生错误的时候,运行了except中的内容,然后创建了一个新的txt。

  • 捕获指定异常

演示代码

代码语言:javascript代码运行次数:0运行复制
try:
    print(name)
except NameError as e:
    print('name变量名称未定义错误')

注意事项 ① 如果尝试执行的代码的异常类型和要捕获的异常类型不一致,则无法捕获异常。 ② 一般try下方只放一行尝试执行的代码。

  • 捕获多个异常

演示代码

代码语言:javascript代码运行次数:0运行复制
try:
    print(1/0)
except (NameError, ZeroDivisionError):
    print('ZeroDivision错误...')

运行结果 在这个结果中,我们可以看出来,这个除以0的错误被捕获了。

  • 捕获异常并输出描述信息

基本语法

代码语言:javascript代码运行次数:0运行复制
try:
    print(num)
except (NameError, ZeroDivisionError) as e:
    print(e)

运行结果 这里打印出来了,错误的信息,但是没有报错,错误信息就是num没有被定义。

  • 捕获所有异常 基本语法
代码语言:javascript代码运行次数:0运行复制
try:
    print(name)
except Exception as e:
    print(e)

运行结果 Exception可以捕获所有的异常。1

  • 异常else else表示的是如果没有异常要执行的代码。
代码语言:javascript代码运行次数:0运行复制
try:
    print(1)
except Exception as e:
    print(e)
else:
    print('我是else,是没有异常的时候执行的代码')

运行结果 可以看出来,else里面是运行没有异常的时候的结果。

  • 异常的finally finally表示的是无论是否异常都要执行的代码,例如关闭文件。 演示代码
代码语言:javascript代码运行次数:0运行复制
try:
    f = open('test.txt', 'r')
except Exception as e:
    f = open('test.txt', 'w')
else:
    print('没有异常,真开心')
finally:
    f.close()

运行结果 这里可以看出来,创建了一个新的文本文件,然后最后也把这个给关闭了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-01-20,如有侵权请联系 cloudcommunity@tencent 删除异常处理语法python程序异常

本文标签: python中的异常处理(tryexceptelsefinally)