我在c#应用程序中使用ODP.NET,并且我使用以下代码来执行存储过程:
OracleCommand _cmd = new OracleCommand();
try
{
_cmd.CommandTimeout = 900;
_cmd.Connection = myConnection;
_cmd.CommandType = CommandType.StoredProcedure;
_cmd.CommandText = storedProcedureName;
_cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
DisplayAnyway = true;
ImportMessage = "General problem occured\n" + ex.Message;
ex.ToString();
}
我的问题是,我怎么能修改它,以便只有在发生超时异常时才能做一些特殊的事情。 odp.net似乎只有OracleException,没有OracleTimeoutException或类似的东西。
谢谢!
答案 0 :(得分:3)
检查OracleException的Code
/ ErrorCode
属性,看看是否可以使用它们来区分特定错误。
答案 1 :(得分:1)
ODP.NET的OracleException
类具有Number
属性,该属性应包含Oracle特定的错误编号:OracleException's Number Property