LinqDataSourceStatusEventArgs.ExceptionHandled 属性

定义

获取或设置一个值,该值指示异常是否已得到处理而不该再次引发。

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

注解

可以为 、、DeletedInsertedSelectedUpdated 事件创建事件处理程序ContextCreated,以检查这些操作期间发生的任何异常。 如果处理异常并且不希望再次引发该异常,请将 属性 ExceptionHandled 设置为 true。 如果未将 ExceptionHandled 属性 true设置为 ,则异常将传播到调用堆栈中的下一个事件处理程序。

适用于