2011-10-06 181 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;