2015-09-23 39 views
1

我有例如這樣的Exception.StackTrace:如何拆分Exception.StackTrace並只獲得最後一行

message:Generic error: in Npgsql.NpgsqlClosedState.Open(NpgsqlConnector context) 
in Npgsql.NpgsqlConnector.Open() 
in Npgsql.NpgsqlConnectorPool.GetPooledConnector(NpgsqlConnection Connection) 
in Npgsql.NpgsqlConnectorPool.RequestPooledConnector(NpgsqlConnection Connection) 
in Npgsql.NpgsqlConnection.Open() 
in Default.Page_Load(Object sender, EventArgs e) in c:\C\myapp\Default.aspx.cs:riga 33 Failed to establish a connection to '10.1.1.1'. 

但我想有隻堆棧跟蹤的最後一行,也就是:

in Default.Page_Load(Object sender, EventArgs e) in c:\C\myapp\Default.aspx.cs:riga 33 Failed to establish a connection to '10.1.1.1' 

我該如何拆分StackTrace才能得到這個?謝謝

回答

3

通常情況下,您確實需要上下文(整個堆棧跟蹤)來確定發生了什麼問題。但是,要獲得最後一行

using System.Linq; 

var lastLine = e.StackTrace.Split('\n').Last(); 

ËException

0

它只是一個字符串,所以用新行分割它,並從數組中取出最後一個元素?

0

使用Split()方法類似

 string[] lines = str.Split('\n'); 
     lines[lines.Length - 1]; 
相關問題