当前位置: 首页 > 面试题库 >

处理实体框架4中的异常

华锦程
2023-03-14
问题内容

我需要一种使用实体框架LINQ区分SQL异常的方法,例如,当我从DbUpdateException获得的所有信息都是大量嵌套的内部异常和无用的长错误消息时,如何区分前面的关键约束违例或唯一约束违例?是否有任何较低级别的例外,我可以在其中执行“
Catch FKException”之类的操作;捕获“ uniqueException”或类似的东西。


问题答案:

正在使用sql错误代码…

catch (DbUpdateException ex)
                    {
                        var sqlex = ex.InnerException.InnerException as SqlException;

                        if (sqlex != null)
                        {
                            switch (sqlex.Number)
                            {
                                case 547: throw new ExNoExisteUsuario("No existe usuario destino."); //FK exception
                                case 2627:
                                case 2601:
                                    throw new ExYaExisteConexion("Ya existe la conexion."); //primary key exception

                                default: throw sqlex; //otra excepcion que no controlo.


                            }
                        }

                        throw ex;
                    }


 类似资料:
  • 这是我的代码: 但是当我从控制器调用函数时。它显示错误 在上一个异步操作完成之前,在此上下文上启动了第二个操作。使用“await”确保在该上下文上调用另一个方法之前已完成任何异步操作。任何实例成员都不能保证线程安全。 请帮我解决这个问题。

  • 在play,jersey,spring不同于具有池线程的典型多线程服务器。https://jersey.java.net/documentation/latest/async.html https://www.playframework.com/documentation/2.3.x/JavaAsync 一个线程正在侦听,并且在新线程中发生繁重的处理,此外,Web中的非阻塞请求不能与Java中的非

  • 本文向大家介绍Thinkphp5框架异常处理操作实例分析,包括了Thinkphp5框架异常处理操作实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Thinkphp5框架异常处理操作。分享给大家供大家参考,具体如下: 异常处理 有时候服务端会报出我们无法感知的错误,TP5默认会自动渲染错误的形式,生产环境中这样的形式并不是我们想要的。 未知错误 1.exception\Handle.

  • 问题内容: 我使用实体框架访问我​​的SQL数据。我在数据库模式中有一些约束,我想知道如何处理由这些约束引起的异常。 例如,当两个用户尝试同时向数据库添加(几乎)相同的实体时,出现以下异常。 如何正确捕获此特定异常? 肮脏的解决方案: 现在,尽管这种方法行之有效,但它也有一些缺点: 没有类型安全性:该代码取决于包含唯一列名称的异常消息。 对SqlCLient类的依赖(抽象中断) 您知道更好的解决方

  • 全部的 这里有一条简单的路线: JsonValidator是一个简单的Javabean,我在其中扩展了处理器。在这里,我想确保在我继续使用Jackson散集调用以将JSON散集到我的POJO之前,所有必需的字段都被传入。 我现在在豆子里做的只是一行: 只需调用exchange.getIn().getBody(String.class),就会导致路由中的下一个(解组)步骤抛出一个错误,表示没有要解组

  • 本文向大家介绍springboot框架的全局异常处理方案详解,包括了springboot框架的全局异常处理方案详解的使用技巧和注意事项,需要的朋友参考一下 系统框架搭建的前期过程中,为了约束代码规范,我们会对一些通用功能做一些处理,比如声明一些系统公用错误类、封装通用返回结果、统一异常处理等,这样做的优势是团队开发过程中能够形成统一的代码规范,增强代码可读性,同时又便于后期代码维护。本文主要介绍下