异常的自定义异常和解析消息

时间:2011-10-06 12:22:45

标签: c# compact-framework oracle10g

ex.Message = "ORA-20586: SOME TEXT SOME TEXT.\nORA-06512: at \"RMM.LOKAC\", line 116\nORA-06512: at line 2"

catch (Exception ex)
    MessageBox.Show(ex.Message);
    return false;
}

ex.Message = "ORA-20586: SOME TEXT SOME TEXT.\nORA-06512: at \"RMM.LOKAC\", line 116\nORA-06512: at line 2"

但我需要得到“一些文字的一些文字”。我怎样才能阅读文字。

ORA-20586表示用户错误http://www.dbmotive.com/support/oracle-error-codes/?type=ORA&errcode=20586

数据库是Oracle。如何从这条错误消息中读取“SOME TEXT SOME TEXT”。

2 个答案:

答案 0 :(得分:2)

提取字符串的方法有很多种。您可以尝试String split,正则表达式拆分或字符串索引搜索。

答案 1 :(得分:0)

捕获异常总是更好,然后编写更友好的用户消息。如果可能,您永远不想公开应用程序的底层架构。

bool success = false;
try {
  // you code
  success = true; // Notice: Last call of  your try routine.
} catch (Exception ex {
  if (-1 < ex.Message.IndexOf("ORA-20586")) {
    MessageBox.Show("user error");
  } else {
    MessageBox.Show(ex.Message);
  }
}
return success;