gpt4 book ai didi

oracle - 从 Dot Net 中的 Oracle 异常获取实际错误消息

转载 作者:行者123 更新时间:2023-12-02 03:35:46 30 4
gpt4 key购买 nike

我有这个程序:

create or replace PROCEDURE MyProc
(
<some-parameters>
)
AS
BEGIN
if(<some-condition>) then
RAISE_APPLICATION_ERROR('my custom error message');
end if;
END;

从 C# 调用时:

try
{
<call procedure>
}
catch(OracleException x)
{
lblMessage.Text = x.Message;
}

我收到如下错误消息:

ORA-28008: my custom error message ORA-06512: at blah, line blah ORA-06512: at line blah

我只想要:

my custom error message

没有内部异常。错误收集没有帮助。使用 Exception 而不是 OracleException 时也会出现同样的情况。

我错过了什么?

我可以使用字符串操作,但是错误消息的格式如何固定?

最佳答案

我使用返回参数来使用 php 进行捕获。我认为同样的技术在 .net 中也很有用。(我认为可以在异常处理中捕获自定义消息并仅重新引发该自定义消息,但下面的方法肯定有效。:)

create or replace PROCEDURE MyProc (p_result out varchar2)
is
...
begin
...
if error then
p_result := 'my custom error message';
return; -- exit procedure
end if;

p_result := 'ok';
end;

关于oracle - 从 Dot Net 中的 Oracle 异常获取实际错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10361309/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com