我读过“加薪”的官方定义,但我还是不太明白它是干什么的。
简单来说,什么是“提高”?
使用示例会有所帮助。
我读过“加薪”的官方定义,但我还是不太明白它是干什么的。
简单来说,什么是“提高”?
使用示例会有所帮助。
当前回答
它有两个目的。
Jackcogdill给出了第一个答案:
它被用来提高你自己的错误。 如果一些事情: 抛出异常('我的错误!')
第二种方法是在异常处理程序中重新引发当前异常,以便可以在调用堆栈的更上层处理它。
try:
generate_exception()
except SomeException as e:
if not can_handle(e):
raise
handle_exception(e)
其他回答
Raise会引发异常。其他一些语言使用动词“throw”来代替。
它是用来表示错误情况的;它标志着该情况与正常流程不同。
引发的异常可以由代码'upstream'(一个周围的块,或堆栈上较早的函数)再次捕获,并使用try, except组合来处理它。
你可以使用它来引发错误,作为错误检查的一部分:
if (a < b):
raise ValueError()
或者处理一些错误,然后将它们作为错误处理的一部分传递出去:
try:
f = open('file.txt', 'r')
except IOError:
# do some processing here
# and then pass the error on
raise
它有两个目的。
Jackcogdill给出了第一个答案:
它被用来提高你自己的错误。 如果一些事情: 抛出异常('我的错误!')
第二种方法是在异常处理程序中重新引发当前异常,以便可以在调用堆栈的更上层处理它。
try:
generate_exception()
except SomeException as e:
if not can_handle(e):
raise
handle_exception(e)
除了raise Exception(“message”)和raise Python 3还引入了一个新形式,从e中raise Exception(“message”)。它被称为异常链接,它允许你保留原始异常(根本原因)及其回溯。
它非常类似于c#中的内部异常。
更多信息: https://www.python.org/dev/peps/pep-3134/
它是用来提高误差的。
if something:
raise Exception('My error!')
这里有一些例子