如果我这样做:
try
{
//code
}
catch (Exception)
{
throw;
}
异常是否包含所有信息?这个想法是在应用程序的顶部处理错误。在那里我会执行一些 SQL sp 来填充管理员的表,以便他知道异常。
我想存储Exception.Message
异常的源(方法、函数等)。但我不知道如何引用异常发生的“哪里”。是Exception.Source
吗?Exception.TargetSite
?
谢谢。
如果我这样做:
try
{
//code
}
catch (Exception)
{
throw;
}
异常是否包含所有信息?这个想法是在应用程序的顶部处理错误。在那里我会执行一些 SQL sp 来填充管理员的表,以便他知道异常。
我想存储Exception.Message
异常的源(方法、函数等)。但我不知道如何引用异常发生的“哪里”。是Exception.Source
吗?Exception.TargetSite
?
谢谢。
异常的类型会告诉你它是什么类型的异常(IndexOutOfRangeException、SqlException 等),你也会做出相应的反应:
try
{
//code
}
catch (SqlException ex)
{
// Handle code
}
catch (IndexOutOfRangeException ex)
{
// Handle code
}
catch (Exception ex)
{
// Handle code
}
至于它发生在哪里......你应该用一个try catch
而不是大的代码块来封闭容易发生异常的区域。这样,您将知道异常的来源。
简短的回答是肯定的:只需调用 throw 就可以传递有关异常的所有信息。
(引自 Mark Gravell)