如何在c#中只从Oracle raise_application_error中提取错误信息



很长一段时间我试图捕获oracle raise_application_error方法的错误消息。但每次错误返回与oracle错误行号和代码。我只需要得到错误信息。

我的Oracle查询如下:

IF totalAmony IS NOT NULL AND sumAmount IS NULL
THEN
RAISE_APPLICATION_ERROR(-20001, 'Account no cannot be blank');
END IF;  

和我的c#代码:

try 
{
// somcode...;    
}
catch (OracleException ex)
{
MessageBox.Show(lookAndFeelError, ex.Message, "Title", MessageBoxButtons.OK,MessageBoxIcon.Information);
}

我需要在消息框中显示'帐户号不能为空白'。

您可以依赖异常对象的Code属性。因此,在您的问题示例中,您可以检查异常代码是否等于您正在寻找的异常,如果是,则可以显示错误消息。

try 
{
// somcode...;    
}
catch (OracleException ex)
{
if(ex.Code == -20001) {
MessageBox.Show(lookAndFeelError, ex.Message, "Title", MessageBoxButtons.OK,MessageBoxIcon.Information);
}
}

相关内容

  • 没有找到相关文章

最新更新