Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是“try:。。。除了:用Python做什么?_Python_Exception Handling - Fatal编程技术网

是“try:。。。除了:用Python做什么?

是“try:。。。除了:用Python做什么?,python,exception-handling,Python,Exception Handling,我看到这样的代码: try: print abc # actually different code was here but it doesn't matter, right? except: raise 有没有理由在这篇文章中加入打印abc尝试:除了:raise构造?Exception子句只有一个raise操作,所以如果捕获了异常,则只会在外部重新调用它,对吗?所以我猜这个结构除了代码行之外什么都没有,对吗?这个代码没有什么意义。它实际上只是捕获所有异常,然后再次重新引发它

我看到这样的代码:

try:
    print abc # actually different code was here but it doesn't matter, right?
except:
    raise

有没有理由在这篇文章中加入
打印abc
尝试:除了:raise构造?Exception子句只有一个
raise
操作,所以如果捕获了异常,则只会在外部重新调用它,对吗?所以我猜这个结构除了代码行之外什么都没有,对吗?

这个代码没有什么意义。它实际上只是捕获所有异常,然后再次重新引发它们。回溯和异常是保持的,因此就其他Python代码而言,重新引发也可能不存在


这可能是代码曾经做过的不止这些,但作者希望通过保持缩进不变来最小化VCS的变化。或者可能认为在出现异常时插入日志或调试代码是一个方便的方法。

此代码相当无用

 except:
     raise

重新评估所有异常,这与不首先捕获它们完全相同。它可以安全地移除。

你很仁慈。似乎作者只是不明白自己在做什么。@DanielRoseman:总是有可能的。我想让这样的人不必怀疑,让他们先解释自己,但决不能低估他们的无能。:-)