2011-10-06 113 views
0
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。我怎样才能从这个错误信息中读取“某些文字的一些文字”。

回答

2

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

+0

@senzacionale对不起!我没有得到你想要的。你想在数据库基础级创建自定义异常,还是想在程序中定义它? – adatapost

+0

我可以使用LINQ吗? – senzacionale

+0

AVD我只是想打印信息。不需要定制异常。 – senzacionale

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;