栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

一线异常处理

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

一线异常处理

在python中无法执行单行异常处理语句。一个人可以编写一个函数来做到这一点。

def safe_execute(default, exception, function, *args):    try:        return function(*args)    except exception:        return default

用法示例:

from json import loadssafe_execute("Oh no, explosions occurred!", TypeError, loads, None)# Returns "Oh no, explosions occurred!"safe_execute("Huh?", TypeError, int, "10")#Returns 10

支持多个参数

from operator import divsafe_execute(    "Divsion by zero is invalid.",    ZeroDivisionError,    div, 1, 0)# Returns "Divsion by zero is invalid."safe_execute(    "Divsion by zero is invalid.",    ZeroDivisionError,    div, 1, 1)# Returns 1.

错误捕获过程可能仍然被中断:

from time import sleepsafe_execute(    "Panic!",    Exception,    sleep, 8)# Ctrl-c will raise a KeyboardInterruptfrom sys import exitsafe_execute("Failed to exit!", Exception, exit)# Exits the Python interpreter

如果这种行为是不希望的,请使用

baseException

from time import sleepsafe_execute("interrupted",  baseException,  sleep, 8)#Pressing Ctrl-c will return "interrupted"from sys import exitsafe_execute("Naughty little program!",  baseException,  exit)#Returns "Naughty little program!"


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/596460.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号