DataGridViewDataErrorEventArgs.ThrowException Właściwość

Definicja

Pobiera lub ustawia wartość wskazującą, czy zgłosić wyjątek po DataGridViewDataErrorEventHandler zakończeniu delegata.Gets or sets a value indicating whether to throw the exception after the DataGridViewDataErrorEventHandler delegate is finished with it.

public:
 property bool ThrowException { bool get(); void set(bool value); };
public bool ThrowException { get; set; }
member this.ThrowException : bool with get, set
Public Property ThrowException As Boolean

Wartość właściwości

Boolean

trueJeśli wyjątek powinien być zgłoszony; w przeciwnym razie false .true if the exception should be thrown; otherwise, false. Wartość domyślna to false.The default is false.

Wyjątki

W przypadku ustawienia tej właściwości na true Exception wartość właściwość jest null .When setting this property to true, the Exception property value is null.

Przykłady

Poniższy przykład kodu demonstruje użycie właściwości, ThrowException Aby wskazać, że wyjątku nie należy zgłaszać.The following code example demonstrates using the ThrowException property to indicate that the exception should not be thrown. Ten przykład jest częścią większego przykładu dostępnego w DataGridViewComboBoxColumn temacie Omówienie klas.This example is part of a larger example available in the DataGridViewComboBoxColumn class overview topic.

private:
    void DataGridView1_DataError(Object^ sender, DataGridViewDataErrorEventArgs^ anError)
    {

        MessageBox::Show("Error happened " + anError->Context.ToString());

        if (anError->Context == DataGridViewDataErrorContexts::Commit)
        {
            MessageBox::Show("Commit error");
        }
        if (anError->Context == DataGridViewDataErrorContexts::CurrentCellChange)
        {
            MessageBox::Show("Cell change");
        }
        if (anError->Context == DataGridViewDataErrorContexts::Parsing)
        {
            MessageBox::Show("parsing error");
        }
        if (anError->Context == DataGridViewDataErrorContexts::LeaveControl)
        {
            MessageBox::Show("leave control error");
        }

        if (dynamic_cast<ConstraintException^>(anError->Exception) != nullptr)
        {
            DataGridView^ view = (DataGridView^)sender;
            view->Rows[anError->RowIndex]->ErrorText = "an error";
            view->Rows[anError->RowIndex]->Cells[anError->ColumnIndex]->ErrorText = "an error";

            anError->ThrowException = false;
        }
    }
private void DataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs anError)
{

    MessageBox.Show("Error happened " + anError.Context.ToString());

    if (anError.Context == DataGridViewDataErrorContexts.Commit)
    {
        MessageBox.Show("Commit error");
    }
    if (anError.Context == DataGridViewDataErrorContexts.CurrentCellChange)
    {
        MessageBox.Show("Cell change");
    }
    if (anError.Context == DataGridViewDataErrorContexts.Parsing)
    {
        MessageBox.Show("parsing error");
    }
    if (anError.Context == DataGridViewDataErrorContexts.LeaveControl)
    {
        MessageBox.Show("leave control error");
    }

    if ((anError.Exception) is ConstraintException)
    {
        DataGridView view = (DataGridView)sender;
        view.Rows[anError.RowIndex].ErrorText = "an error";
        view.Rows[anError.RowIndex].Cells[anError.ColumnIndex].ErrorText = "an error";

        anError.ThrowException = false;
    }
}
Private Sub DataGridView1_DataError(ByVal sender As Object, _
ByVal e As DataGridViewDataErrorEventArgs) _
Handles DataGridView1.DataError

    MessageBox.Show("Error happened " _
        & e.Context.ToString())

    If (e.Context = DataGridViewDataErrorContexts.Commit) _
        Then
        MessageBox.Show("Commit error")
    End If
    If (e.Context = DataGridViewDataErrorContexts _
        .CurrentCellChange) Then
        MessageBox.Show("Cell change")
    End If
    If (e.Context = DataGridViewDataErrorContexts.Parsing) _
        Then
        MessageBox.Show("parsing error")
    End If
    If (e.Context = _
        DataGridViewDataErrorContexts.LeaveControl) Then
        MessageBox.Show("leave control error")
    End If

    If (TypeOf (e.Exception) Is ConstraintException) Then
        Dim view As DataGridView = CType(sender, DataGridView)
        view.Rows(e.RowIndex).ErrorText = "an error"
        view.Rows(e.RowIndex).Cells(e.ColumnIndex) _
            .ErrorText = "an error"

        e.ThrowException = False
    End If
End Sub

Uwagi

Ustaw tę właściwość na false , jeśli DataGridViewDataErrorEventHandler ma ona reprezentację wyjątku reprezentowanego przez Exception Właściwość i nie chcesz propagować wyjątku do innego DataGridViewDataErrorEventHandler , który może obsłużyć DataError zdarzenie.Set this property to false if the DataGridViewDataErrorEventHandler has dealt with the exception represented by the Exception property, and you do not want to propagate the exception to another DataGridViewDataErrorEventHandler that may handle the DataError event.

Na potrzeby debugowania pomocne może być propagowanie wyjątku i zbadanie śladu stosu w celu uzyskania informacji dotyczących kontekstu błędu.For debugging purposes, it can be useful to propagate the exception and inspect the stack trace for information regarding the context of the error.

Dotyczy

Zobacz też