实施错误处理:仍然是错误

时间:2014-12-21 12:34:53

标签: c# sql-server

我试图处理用户尝试执行CRUD功能时发生的错误。 例如,当他将输入字段打开时,数据库中的字段不能为NULL。

当我运行我的网站并打开输入字段时,会发生这种情况: Error when running and submit wrong info for the first time

当我停止运行并返回到该特定页面时,它会显示我想要的标签(红色字体=给用户的错误消息): The red font = my error message to the user

所以在这一点上: 它确实显示了我想要的错误消息,但只有在它崩溃之后才会显示。

我的代码:

// ERROR HANDLING ODSTYPES
    protected void odsTypes_Deleted(object sender, ObjectDataSourceStatusEventArgs e)
    {
      if (e.Exception != null)
      {
        lblError.Visible = true;
        lblError.Text = "Dit type kan niet worden verwijderd.";
      }
      e.ExceptionHandled = true;
    }
    protected void odsTypes_Updated(object sender, ObjectDataSourceStatusEventArgs e)
    {
      if (e.Exception != null)
      {
        lblError.Visible = true;
        lblError.Text = "Er ging iets fout bij het updaten van het type. Probeer opnieuw.";
      }
      e.ExceptionHandled = true;
    }
    protected void odsTypes_Inserted(object sender, ObjectDataSourceStatusEventArgs e)
    {
      if (e.Exception != null)
      {
        lblError.Visible = true;
        lblError.Text = "Er ging iets fout bij het invoeren van het type. Probeer opnieuw.";
      }
      e.ExceptionHandled = true;
    }

    // ERROR HANDLING DTVTYPES
    protected void dtvTypes_ItemInserted(object sender, DetailsViewInsertedEventArgs e)
    {
      if (e.Exception != null)
      {
        lblError.Visible = true;
        lblError.Text = "Er liep iets fout! Mogelijk gaf u een verkeerde waarde op. Probeer opnieuw.";
      }
      e.ExceptionHandled = true;
    }

    // ERROR HANDLING GVTYPES
    protected void gvTypes_RowDeleted(object sender, GridViewDeletedEventArgs e)
    {
      if (e.Exception != null)
      {
        lblError.Visible = true;
        lblError.Text = "Dit type kan niet worden verwijderd.";
      }
      e.ExceptionHandled = true;
    }
    protected void gvTypes_RowUpdated(object sender, GridViewUpdatedEventArgs e)
    {
      if (e.Exception != null)
      {
        lblError.Visible = true;
        lblError.Text = "Er liet iets fout, mogelijk gaf u een verkeerde waarde in. Probeer opnieuw";
      }
      e.ExceptionHandled = true;
    }

1 个答案:

答案 0 :(得分:1)

您遇到的只是一个Visual Studio功能,它会在例外情况下中断。

要禁用它,请单击菜单中的“调试”,然后选择“例外”。

从那里,取消选中" Common Language Runtime Exceptions"为了阻止Visual Studio打破异常:

enter image description here