C# 重复的信息是有用的…我从中提取,让泛型异常冒泡到顶级异常处理程序(避免崩溃的根方法),然而,我并不认为为了日志目的而尝试/捕获每一个方法会有什么大问题……但这可能会变得单调乏味,因为它们都是相同的构造,并且有一点干涸……至少不要重新调用并拥有调用方法日志,
C# 重复的信息是有用的…我从中提取,让泛型异常冒泡到顶级异常处理程序(避免崩溃的根方法),然而,我并不认为为了日志目的而尝试/捕获每一个方法会有什么大问题……但这可能会变得单调乏味,因为它们都是相同的构造,并且有一点干涸……至少不要重新调用并拥有调用方法日志,,c#,C#,重复的信息是有用的…我从中提取,让泛型异常冒泡到顶级异常处理程序(避免崩溃的根方法),然而,我并不认为为了日志目的而尝试/捕获每一个方法会有什么大问题……但这可能会变得单调乏味,因为它们都是相同的构造,并且有一点干涸……至少不要重新调用并拥有调用方法日志,否则异常将用于管理目的。除了发送给用户的一般消息之外,我想要实现的就是让自己即时了解出了什么问题,为什么会发生异常。一旦系统运行,关键是它是全天候的。因此,我希望尽可能地对其进行更新,以使异常不断下降。考虑到我的目的,我是否应该使用并滥用链接文
重复的信息是有用的…我从中提取,让泛型异常冒泡到顶级异常处理程序(避免崩溃的根方法),然而,我并不认为为了日志目的而尝试/捕获每一个方法会有什么大问题……但这可能会变得单调乏味,因为它们都是相同的构造,并且有一点干涸……至少不要重新调用并拥有调用方法日志,否则异常将用于管理目的。除了发送给用户的一般消息之外,我想要实现的就是让自己即时了解出了什么问题,为什么会发生异常。一旦系统运行,关键是它是全天候的。因此,我希望尽可能地对其进行更新,以使异常不断下降。考虑到我的目的,我是否应该使用并滥用链接文章中的try/catch?:
…如果捕获到一般异常,请将其记录在某个位置。但是只记录一次-通常代码中充斥着记录异常的catch块…,重复的信息太多,没有用处…
我从中吸取了一些信息,让通用异常冒泡到顶级异常处理程序(根方法可以避免崩溃),然而,我并不认为为了日志目的而尝试/捕获每一个方法会有什么大问题……但是这可能会变得很乏味,因为它们都是相同的构造,并且有点干涸……至少不要重新调用,并且让调用方法log-alsoYes。我在考虑构建一个每次在“catch”中调用的异常方法。只是一种填桌子的方法,这样我每天都可以在办公室拿到。我在考虑构建一个每次在“catch”中调用的异常方法。这只是一种填桌子的方法,这样我每天都可以在办公室拿到。
namespace DAL
{
public class Connection
{
public string GetNewConnection(string server)
{
return ConfigurationManager.ConnectionStrings[server].ConnectionString;
}
public DataSet ExecuteSQL(string sp)
{
DataSet ds = new DataSet();
string connectionString = GetNewConnection("BO");
SqlConnection conn = new SqlConnection(connectionString);
SqlCommand command = new SqlCommand(sp, conn);
command.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter(command);
using (conn)
{
da.Fill(ds);
}
return ds;
}
}
public class LineaDAL
{
Connection obj = new Connection();
public DataSet GetLinea()
{
DataSet ds = new DataSet();
string sp;
sp = "sp1";
ds = obj.ExecuteSQL(sp);
return ds;
}
public bool UpdateLinea(string reclamo)
{
DataSet ds = new DataSet();
string sp;
sp = "sp2";
ds = obj.ExecuteSQL(sp);
return ExtensionMethods.IsEmpty(ds);
}
}
public static class ExtensionMethods
{
public static bool IsEmpty(this DataSet ds)
{
return ds == null ||
!(from DataTable t in ds.Tables where t.Rows.Count > 0 select t).Any();
}
}
}
try {
...
}
catch(Exception ex)
{
...
}
finally {
.. cleanup...
}
try
{
...
}
catch(Exception ex)
{
Log(ex.Message);
MessageBox.Show("Error Occured. Please try again later."); //General message to the user
}
finally
{
Cleanup... like Disposing objects (like com objects) if they need to be disposed.
}