为了账号安全,请及时绑定邮箱和手机立即绑定

python:从函数返回异常

python:从函数返回异常

蛊毒传说 2021-06-06 08:46:54
假设我有以下功能:def test():  ...  if x['error']:    raise无论是否x['error']定义,这都会引发异常。相反,如果我尝试这个,它不会抛出任何异常:def test():  ...  try:    if x['error']:      raise  except:    return如何测试特定值并在定义时返回异常,如果未定义则成功返回?
查看完整描述

3 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

def test():

  ...

  if x.get(‘error’):

    raise

您可以使用字典的内置get函数避免无意中引发错误。None如果指定键处的值不存在,则Get 将返回而不是抛出异常。


查看完整回答
反对 回复 2021-06-09
?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

如果要将错误作为字符串返回:


>>> def test():

    try:

        if x['error']:raise

    except Exception as err:

        return err


>>> test()

NameError("name 'x' is not defined",)

如果要发生错误:


>>> def test():

    try:

        if x['error']:raise

    except:

        raise


>>> test()

Traceback (most recent call last):

  File "<pyshell#20>", line 1, in <module>

    test()

  File "<pyshell#19>", line 3, in test

    if x['error']:raise

NameError: name 'x' is not defined


查看完整回答
反对 回复 2021-06-09
?
慕娘9325324

TA贡献1783条经验 获得超4个赞

试试这个


def check_not_exist(d,k):

   #if keys exists in dict,raise it

   if k in d:

     raise

   else:

     return True


查看完整回答
反对 回复 2021-06-09
  • 3 回答
  • 0 关注
  • 241 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信