【问题标题】:Catching user-defined Oracle exceptions in VB.NET在 VB.NET 中捕获用户定义的 Oracle 异常
【发布时间】:2016-01-27 03:37:56
【问题描述】:

我在 Oracle 中有一个存储过程,它在某些情况下使用 RAISE_APPLICATION_ERROR 引发用户定义的错误。用户自定义错误码为-20000。

我正在使用 VB.NET 从 ASP.NET 应用程序调用存储过程,我想捕获这个特定错误并显示自定义错误消息,但是 VB.NET 捕获的错误号为 20000,而不是 - 20000.

是否有其他方法来捕获此错误或更好的方法来解决此问题?谢谢!

【问题讨论】:

    标签: asp.net vb.net oracle


    【解决方案1】:

    在做了更多研究之后,我认为 20000 错误代码是我需要捕获的。根据下面的链接,ORA-20000 是针对由 RAISE_APPLICATION_ERROR 生成的异常,所以我认为我只捕获 20000 而不是 -20000 是安全的。这让我很困惑。

    https://docs.oracle.com/cd/B28359_01/server.111/b28278/toc.htm

    【讨论】:

    • 在我的例子中,RAISE_APPLICATION_ERROR 是由 oracle pl\sql 代码引发的,但是在 vb.net 代码中,它不会进入 CATCH 块。您能否告诉我问题出在哪里或您的情况如何。
    猜你喜欢
    • 2011-03-31
    • 2011-02-24
    • 2021-03-18
    • 2011-08-30
    • 2013-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多