python - 有没有办法在不进行硬编码的情况下编写相同的 try- except 多行代码? Python

标签 python error-handling try-catch except hardcode

我有多个可能返回None的函数:

do_something()do_something2()do_something3()

为了克服 None 类型错误,我必须从代​​码的另一部分对 try- except 进行硬编码,如下所示:

try:
  x = do_other_things(do_something())
except someError: # because of None Type return
  x = None

try:
  y = do_other_things(do_something2())
except someError: # because of None Type return
  y = None

有没有办法将相同的 try- except 应用于不同的代码行/不同的函数调用?

最佳答案

如果您正在测试相同的异常类型,则可以将 try/except block 包装到一个函数中,该函数接受其他函数和参数列表作为参数。

 def try_except(myFunction, *params):
     try:
         return myFunction(*params)
     except ValueError as e:
         return None
     except TypeError as e:
         return None

关于python - 有没有办法在不进行硬编码的情况下编写相同的 try- except 多行代码? Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22448311/

相关文章:

python - Python中的正则表达式来匹配具有特殊字符的单词

php - 找不到类 'Zend_Measure_Weight' - Magento

php - 出现 fatal error : Call to undefined method

javascript - es6 js promise : What is . catch(callback) 相当于?

ruby-on-rails-4 - Rails 电子邮件传送错误检查 - Deliver_now

java - TestNG try/catch 无法正常工作

python - PyAutoGUI 截图我唯一的背景(Mac OS)

python - 将随机 HEX # 颜色生成器限制为一定的颜色范围

python 3 : Make itemgetter sort by string length

list - 对象引用未设置为对象的实例- “Object includes a list property”