LinqDataSourceStatusEventArgs.ExceptionHandled Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece un valor que indica si se controló la excepción y que no se debería iniciar de nuevo.
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
Valor de propiedad
true
si se controló la excepción; de lo contrario, false
.
Ejemplos
En el ejemplo siguiente se muestra un controlador de eventos para el Inserted evento. En el controlador de eventos, si la Exception propiedad es null
, el identificador de producto se recupera del objeto de la Result propiedad . El identificador de producto es una clave principal para la tabla y la base de datos establece el valor, por lo que el valor no se conoce hasta que finalice la operación de inserción. El mensaje de excepción se registra si la Exception propiedad no es igual a null
. A continuación, la ExceptionHandled propiedad se establece en 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
Comentarios
Puede crear controladores de eventos para los ContextCreatedeventos , Deleted, Inserted, Selectedy Updated para examinar las excepciones que se produjeron durante esas operaciones. Si controla la excepción y no desea que se vuelva a iniciar, establezca la ExceptionHandled propiedad true
en . Si no establece la ExceptionHandled propiedad true
en , la excepción se propagará al siguiente controlador de eventos de la pila de llamadas.