python:从函数返回异常

时间:2018-09-04 02:14:55

标签: python exception

假设我具有以下功能:

def test():
  ...
  if x['error']:
    raise

无论是否定义了x['error'],这都会引发异常。

相反,如果我尝试这样做,它不会引发任何异常:

def test():
  ...
  try:
    if x['error']:
      raise
  except:
    return

如何测试特定值并返回一个异常(如果已定义),并成功返回(如果未定义)?

3 个答案:

答案 0 :(得分:1)

def test():
  ...
  if x.get(‘error’):
    raise

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

答案 1 :(得分:1)

尝试这个

def check_not_exist(d,k):
   #if keys exists in dict,raise it
   if k in d:
     raise
   else:
     return True

答案 2 :(得分:1)

如果要以字符串形式返回错误:

  for (int i = 0; i < words.size(); i++)
  {
    for(int j = 0; j < words.at(i).size(); j++)
    {
        if (isdigit(words[i][j]))
        {
            char c = words[i][j];
            nums.push_back(atoi(&c));
        }
    }
    std::cout << words.at(i) << std::endl;
  }

如果您要发生错误:

stoi