如果我的函数在命令行执行时遇到异常,我想退出Python,但是如果我的函数不是从命令行运行的,我想引发一个异常并打印堆栈跟踪。在
现在我有了
try:
#...
except Exception as e:
print('ERROR: Some useful message')
if __name__ == '__main__':
raise SystemExit
else:
raise e
但我觉得我在这里要么做得太多,要么做得太少。在
当我的函数从命令行运行时,有没有一种惯用的方法来获取包含原始异常的堆栈跟踪;但如果是从命令行运行的,则只需退出?在
更好的方法是这样做:
也就是说,函数本身不需要关心它是否从命令行运行。在
相关问题 更多 >
编程相关推荐