c#自定义DbUpdateException

c#自定义DbUpdateException,c#,wpf,exception,C#,Wpf,Exception,我首先在实体框架代码中使用数据库构建wpf应用程序 我允许用户删除数据库中的项目,但当项目链接到其他数据时,将引发异常 这就是我最初的想法 try { //delete item } catch (Exception ex) { MessageBox.Show(ex.Message) } 这是可行的,但显示的消息并没有那么多用户友好。因此,我尝试创建一个自定义异常 public class CustomException : Exception { public CustomE

我首先在实体框架代码中使用数据库构建wpf应用程序

我允许用户删除数据库中的项目,但当项目链接到其他数据时,将引发异常

这就是我最初的想法

try
{
  //delete item
}
catch (Exception ex)
{
  MessageBox.Show(ex.Message)
}
这是可行的,但显示的消息并没有那么多用户友好。因此,我尝试创建一个
自定义异常

public class CustomException : Exception
{
    public CustomException (string Message)
    {
        Message = "Item can't be deleted";
    }
}
我已经修改了我的捕获

catch (CustomException ex)
{
  MessageBox.Show(ex.Message)
}
但这并不是在我的消息中显示
messagebox
,而是因为DbUpdateException而停止我的应用程序


有没有办法自定义此类型异常的消息

修改catch不会改变框架抛出异常的方式。您应该捕获
DbUpdateException
并显示一条适当的消息:

catch (DbUpdateException ex)
{
  MessageBox.Show("item can't be deleted");
}

如果您需要的话,您可以捕获一个
DbUpdateException
并抛出一个
CustomException
?毕竟这非常简单。谢谢:)