![]() |
1
33
你可以使用raiserror。从 MSDN documentation 关于RaISError:
编辑:
这和C不是一回事
msdn有一篇文章 Using TRY...CATCH in Transact-SQL 我用一些代码创建了下面的测试:
产生以下输出:
|
![]() |
2
14
在SQL 2012中,他们添加了新的throw关键字,该关键字还可用于重新引发异常。
|
![]() |
3
2
下面是我在回滚事务后用来重新引发异常的内容。这也提供了错误的行号信息。
|
![]() |
4
2
为了防止在多个catch场景中重复过程信息/错误/行号,我使用了类似的过程,稍微修改如下:
因此,如果我们已经捕获并重新引发了这个SP的错误,我们不会重复添加额外的信息,因此在外部范围,我们只看到最初重新引发的错误。 在上面的示例中,双catch输出将与单catch输出相同。我还将嵌套级别包含在错误消息中,以帮助调试。 |
![]() |
5
0
可以使用raiseError引发异常 |
![]() |
6
0
我通常使用以下方法:
|
|
M.Jane · 组织和编写异常类的正确方法 7 年前 |
![]() |
shubham daharwal · java中的内部捕获异常 7 年前 |
![]() |
Jon · 如何在不需要任何操作的情况下处理Python异常 7 年前 |
![]() |
felix1415 · C++捕获(标准::异常和e)与捕获(…) 7 年前 |
![]() |
k0pernikus · 如何在scala中键入可能引发异常的函数? 7 年前 |