主页 > 知识库 > Python try-except-else-finally的具体使用

Python try-except-else-finally的具体使用

热门标签:服务器配置 呼叫中心市场需求 网站文章发布 检查注册表项 银行业务 智能手机 铁路电话系统 美图手机

try-except

作用:处理异常情况

用法:try:后面写正常运行的代码,except + 异常情况:后面写对异常情况的处理

示例:

try:
    num = int(input("Please input a number:\n"))
    print(42 / num)
except ZeroDivisionError: #except后为错误类型
    print("Divided by zero!")
except ValueError: #可以有多个错误类型
    print("Wrong value!")

运行结果:



注意:调用try语句时,try后的所有错误都将被捕捉,一旦遇到错误,立即跳到except语句块,错误之后的语句不再执行

def division(DivideBy):
        return 42 / DivideBy
try:
    print(division(1))
    print(division(0))
    print(division(7))
except ZeroDivisionError:#except后写错误类型
        print("Divided by zero!")

运行结果:

 

try-except-else

和try-except类似,不过如果程序没有错误,也就是没有跳到except语句块,则执行else语句块,如果程序发生错误,即跳到except语句块,则直接跳过else语句块

示例程序:

def division(DivideBy):
        return 42 / DivideBy
try:
    num = int(input("Please input a integer:\n"))
    print(division(num))
except ZeroDivisionError:#except后写错误类型
        print("Divided by zero!")
except ValueError:
    print("Wrong input!")
else:
    print("No error. Good job!")

运行结果:



 

try-finally

finally:无论try后是否有异常,都要执行

def division(DivideBy):
    return 42 / DivideBy
try:
    num = int(input("Please input a integer:\n"))
    print(division(num))
except ZeroDivisionError:  # except后写错误类型
    print("Divided by zero!")
except ValueError:
    print("Wrong input!")
else:
    print("No error. Good job!")
finally:
    print("Finished")

运行结果:


到此这篇关于Python try-except-else-finally的具体使用的文章就介绍到这了,更多相关Python try-except-else-finally 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
  • Python中的错误和异常处理简单操作示例【try-except用法】
  • Python try except finally资源回收的实现
  • python异常处理之try finally不报错的原因
  • Python中的异常处理try/except/finally/raise用法分析
  • 对python中的try、except、finally 执行顺序详解
  • 简单介绍Python中的try和finally和with方法

标签:新疆 沧州 乐山 长治 河南 红河 沈阳 上海

巨人网络通讯声明:本文标题《Python try-except-else-finally的具体使用》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266