我读过“加薪”的官方定义,但我还是不太明白它是干什么的。

简单来说,什么是“提高”?

使用示例会有所帮助。


当前回答

除了raise Exception(“message”)和raise Python 3还引入了一个新形式,从e中raise Exception(“message”)。它被称为异常链接,它允许你保留原始异常(根本原因)及其回溯。

它非常类似于c#中的内部异常。

更多信息: https://www.python.org/dev/peps/pep-3134/

其他回答

你可以使用它来引发错误,作为错误检查的一部分:

if (a < b):
    raise ValueError()

或者处理一些错误,然后将它们作为错误处理的一部分传递出去:

try:
    f = open('file.txt', 'r')
except IOError:
    # do some processing here
    # and then pass the error on
    raise

Raise会引发异常。其他一些语言使用动词“throw”来代替。

它是用来表示错误情况的;它标志着该情况与正常流程不同。

引发的异常可以由代码'upstream'(一个周围的块,或堆栈上较早的函数)再次捕获,并使用try, except组合来处理它。

除了raise Exception(“message”)和raise Python 3还引入了一个新形式,从e中raise Exception(“message”)。它被称为异常链接,它允许你保留原始异常(根本原因)及其回溯。

它非常类似于c#中的内部异常。

更多信息: https://www.python.org/dev/peps/pep-3134/

Raise不带任何参数是python语法的一种特殊用法。这意味着获取异常并重新引发它。如果这种用法可以叫做reraise。

    raise

来自Python语言参考:

如果不存在表达式,raise将重新引发最后一个异常 在当前范围内是活跃的。

如果单独使用raise而不作任何论证,则严格用于reraise。如果在没有重新引发另一个异常的情况下执行,则会显示以下错误: RuntimeError:没有要重新引发的活动异常

它是用来提高误差的。

if something:
    raise Exception('My error!')

这里有一些例子