Python尝试/例外-最佳实践/优化

Python尝试/例外-最佳实践/优化,python,performance,optimization,try-except,Python,Performance,Optimization,Try Except,我想了解一些关于Python中try/except块的最佳实践的信息。 我遇到过几种不同的方法,但我找不到任何证明/文件证明其中一种方法是最好的 哪一个性能最好,为什么? 我只想一个 def get_information(): 尝试: foo=some_func(1)#可能引发键错误 bar=某些函数(2)#可能会引发值错误 返回foo+baar 除了(KeyError、ValueError): logger.info('Lala') 提升 别无选择 def get_information(

我想了解一些关于Python中try/except块的最佳实践的信息。 我遇到过几种不同的方法,但我找不到任何证明/文件证明其中一种方法是最好的

哪一个性能最好,为什么?

  • 我只想一个
  • def get_information():
    尝试:
    foo=some_func(1)#可能引发键错误
    bar=某些函数(2)#可能会引发值错误
    返回foo+baar
    除了(KeyError、ValueError):
    logger.info('Lala')
    提升
    
  • 别无选择
  • def get_information():
    尝试:
    foo=some_func(1)#可能引发键错误
    bar=某些函数(2)#可能会引发值错误
    除了(KeyError、ValueError):
    logger.info('Lala')
    提升
    返回foo+bar
    
  • 试着/除非用别的方法
  • def get_information():
    尝试:
    foo=some_func(1)#可能引发键错误
    bar=某些函数(2)#可能会引发值错误
    除了(KeyError、ValueError):
    logger.info('Lala')
    提升
    其他:
    返回foo+bar
    
  • 全部分开
  • def get_information():
    尝试:
    foo=some_func(1)#可能引发键错误
    除KeyError外:
    logger.info('keyrerror')
    提升
    尝试:
    bar=某些函数(2)#可能会引发值错误
    除值错误外:
    logger.info('ValueError')
    提升
    返回foo+bar
    

    谢谢你

    我的票是1,但那只是我的意见。实际上,使用对你/你的团队有效的任何东西。我经常看到1和2。我很少看到使用
    try/else
    语法。我只在希望根据每个错误执行独特操作的情况下看到4个,即使是
    字典调度
    通常也能很好地工作。最重要的是选择一个惯例并坚持它。对于#1,你可能只想使用它,而不是所有的4个做完全不同的事情。它们不是关于最好的,而是关于针对特定问题需要做些什么。