我正在使用实体框架代码中的数据库构建一个wpf应用程序。
我允许用户删除数据库中的项目,但是当项目链接到其他数据时,将抛出异常。
这就是我原来的
try
{
//delete item
}
catch (Exception ex)
{
MessageBox.Show(ex.Message)
}
这是有效的,但显示的消息并不是用户友好的。所以我尝试创建custom exception
public class CustomException : Exception
{
public CustomException (string Message)
{
Message = "Item can't be deleted";
}
}
我修改了我的捕捉
catch (CustomException ex)
{
MessageBox.Show(ex.Message)
}
但这并没有显示messagebox
我的消息,但它正在停止我的应用程序的DbUpdateException。
有没有办法为这种类型的异常自定义消息?
答案 0 :(得分:0)
修改catch不会改变框架抛出异常的方式。您应该抓住DbUpdateException
并显示适当的消息:
catch (DbUpdateException ex)
{
MessageBox.Show("item can't be deleted");
}