当前位置: 技术问答>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,效率会很差。
请各位指点
谢谢
但是,我有两个字段有 unique 限制,如何从 Exception 知道是违反了哪一个字段的限制呢??
有人说,在做 insert 之前,先做两次 select,判断是否有重复记录,如果已经存在,人工 throw new SQLException(),我觉得这种方法不是很好,如果有10个字段有unique 限制,在insert前要做10次select,效率会很差。
请各位指点
谢谢
|
你分析异常的message就知道是哪个字段了
比如名字:"Exception:name..."必然有个字段名字叫name出现在message中
那么你就知道违反哪个约束了
比如名字:"Exception:name..."必然有个字段名字叫name出现在message中
那么你就知道违反哪个约束了
|
较好的规划是自己封装重要的Exception,在程序中返回详细信息。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。