LinqDataSourceStatusEventArgs.ExceptionHandled 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置一个值,该值指示异常是否已得到处理而不该再次引发。
public:
property bool ExceptionHandled { bool get(); void set(bool value); };
public bool ExceptionHandled { get; set; }
member this.ExceptionHandled : bool with get, set
Public Property ExceptionHandled As Boolean
属性值
如果异常已得到处理,则为 true
;否则为 false
。
示例
以下示例显示了 事件的事件处理程序 Inserted 。 在事件处理程序中 Exception ,如果 属性为 null
,则从 属性中的 Result 对象检索产品 ID。 产品 ID 是表的主键,由数据库设置,因此在插入操作完成之前,该值是未知的。 如果 Exception 属性不等于 null
,则会记录异常消息。 然后, 属性 ExceptionHandled 设置为 true
。
protected void LinqDataSource_Inserted(object sender, LinqDataSourceStatusEventArgs e)
{
if (e.Exception == null)
{
Product newProduct = (Product)e.Result;
Literal1.Text = "The new product id is " + newProduct.ProductID;
Literal1.Visible = true;
}
else
{
LogError(e.Exception.Message);
Literal1.Text = "We are sorry. There was a problem saving the record. The administrator has been notified.";
Literal1.Visible = true;
e.ExceptionHandled = true;
}
}
Protected Sub LinqDataSource_Inserted(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LinqDataSourceStatusEventArgs)
If (IsNothing(e.Exception)) Then
Dim newProduct As Product
newProduct = CType(e.Result, Product)
Literal1.Text = "The new product id is " & newProduct.ProductID
Literal1.Visible = True
Else
LogError(e.Exception.Message)
Literal1.Text = "We are sorry. There was a problem saving the record. The administrator has been notified."
Literal1.Visible = True
e.ExceptionHandled = True
End If
End Sub
注解
可以为 、、Deleted、 InsertedSelected和 Updated 事件创建事件处理程序ContextCreated,以检查这些操作期间发生的任何异常。 如果处理异常并且不希望再次引发该异常,请将 属性 ExceptionHandled 设置为 true
。 如果未将 ExceptionHandled 属性 true
设置为 ,则异常将传播到调用堆栈中的下一个事件处理程序。