很长一段时间我试图捕获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);
}
}