当前位置:  技术问答>java相关

对于相同的Exception,如何分辨造成Exception的原因

    来源: 互联网  发布时间:2015-04-01

    本文导语:  我在 insert 数据库的时候,对于有 unique 限制的字段如果插入了已经存在的值,会产生 SQLException,程序必须告诉用户什么信息不允许重复,不能直接将Exception显示给用户看 但是,我有两个字段有 unique 限制,如何...

我在 insert 数据库的时候,对于有 unique 限制的字段如果插入了已经存在的值,会产生 SQLException,程序必须告诉用户什么信息不允许重复,不能直接将Exception显示给用户看
但是,我有两个字段有 unique 限制,如何从 Exception 知道是违反了哪一个字段的限制呢??
有人说,在做 insert 之前,先做两次 select,判断是否有重复记录,如果已经存在,人工 throw new SQLException(),我觉得这种方法不是很好,如果有10个字段有unique 限制,在insert前要做10次select,效率会很差。

请各位指点

谢谢

|
你分析异常的message就知道是哪个字段了
比如名字:"Exception:name..."必然有个字段名字叫name出现在message中
那么你就知道违反哪个约束了

|
较好的规划是自己封装重要的Exception,在程序中返回详细信息。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.lang类exception的类成员方法: exception定义及介绍
  • "B_FundMaster.java": Error #: 360 : unreported exception: java.lang.Exception; must be caught or declared to be thrown at line 6
  • java命名空间java.io接口objectstreamconstants的类成员方法: tc_exception定义及介绍
  • 怪怪的EXCEPTION声明
  • java命名空间javax.lang.model.element枚举elementkind的类成员方法: exception_parameter定义及介绍
  • mysql iis7站长之家
  • linux操作系统的异常类(exception)不支持标准c++?
  • exception-handler parameter表示什么?
  • unreported exception: java.lang.ClassNotFoundException
  • 请问java里能自己定义新的Exception吗?
  • Exception in thread "main"
  • 请问exception类中的方法printStackTrace()是做什么用的?
  • 如何将Exception.printStackTrace()显示出来的内容存到String变量中
  • 这个错误是什么原因Exception in thread "main" java.lang.NoClassDefFoundError:
  • Applet报错:Exception:java.lang.NullPointerException
  • java运行exception问题,急!!!
  • exception in thread main???
  • 关于运行JAVA exception in thread "mian"
  • 为什么会是:) Runtime Exception ,有些看不懂:(
  • 如何熟悉Exception的种类?完全通过学习API的document?
  • (急,急,急!!!!)怎样把(Exception e)转换成String 型的


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3