V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  beneo  ›  全部回复第 40 页 / 共 43 页
回复总数  850
1 ... 32  33  34  35  36  37  38  39  40  41 ... 43  
2015-11-13 10:47:52 +08:00
回复了 odirus 创建的主题 Java Java 项目公共库文件,如何使用异常
@odirus 你说的两个问题,我感觉可以一起来讲

CheckedException 出来,就像你说的,业务方(上层调用者)需要知道有可能出现这个异常,你需要做下一步处理。

但是实际情况是,上层调用者很少去关心这个很可能出现的异常,因为还有上层,一个 Service 里面调用很多个 DAO 嘛。不过这个要具体的看你们的业务。


再说如何处理所有类型的 Exception ,比方说现在很多 App 或者 Web 后台都是接入 Java 的,我当然不希望我的异常被用户感知到,那现在的容器都有一个全局 Catch Exception 的功能, Spring 有, Jersey 有, Spring boot 有, Grails 都有。我们会利用这个功能 Catch 所有 Exception ,返回 App 能理解的 JSON (比如网络异常请稍后再试)或者 Web 直接跳转到 500 页面,并消息通知给开发者。
2015-11-13 10:30:53 +08:00
回复了 odirus 创建的主题 Java Java 项目公共库文件,如何使用异常
Checked Exception ,也就是你一个业务流转的方式,比方说,如果你有事务超时的异常的时候,你会发消息给到你的监控,等等,这时候你自己要 catch 住,这是你要 hold 住的地方,然后再 Runtime 出去。

我认为任何异常都应该最后 throw 出去

但是大部分作为一个公共组件,特别是内部使用的时候,也就是你用一下我的 SQL ,他也需要用一下这个 SQL ,我就打个包给大家用。我就建议全部变成 Runtime Exception 吧。

为什么这么说?

异常比方说:
索引问题
SQL 语句问题
事务锁超时等等

这一系列都属于 BUG ,这类 SQL 本来就不应该在代码中出现,也不是你的使用方,或者叫做业务方,他们需要关心的。出现了异常,就去修吧,把 log 打到单独的文件里面。

此外, 还有一些通用的规范,比方说
数据 insert or update ,更新成功返回 1 ,没有成功返回 0
findOne ,找到返回 obj ,没有找到 返回 null
findList , 没有找到返回 empty list ,绝对不能成为 null

我注意到你在用 mybatis ,我十分推荐你使用 MyBatis Generator ,这样可以帮助你少写很多代码。

最后,我是 Hibernate 的忠实粉丝,谢谢
2015-11-11 16:27:39 +08:00
回复了 haohong725 创建的主题 MacBook Pro 小米路由器可以使用 time machine 吗 ?
为啥不用移动硬盘,速度飞快
2015-11-10 13:16:30 +08:00
回复了 xuming 创建的主题 MacBook Pro 13 年初的 RMBP,已过保,发现光斑,求建议
不能换,是因为你过保么?
2015-11-09 18:12:51 +08:00
回复了 florije 创建的主题 互联网 好奇怪,这里居然没人提蜻蜓 FM 的事情?
程序员满分
2015-11-04 14:16:41 +08:00
回复了 RadAsm 创建的主题 Python 数据库连接池对象在何时创建比较好
启动的时候难道不检查一下数据库到底能不能连得上么,呵呵
赛道已满
2015-11-02 08:28:46 +08:00
回复了 li24361 创建的主题 程序员 你们系统的短信发送,是怎么设计的,可以承受多少并发?
云片,不是广告
2015-11-02 08:24:58 +08:00
回复了 naquda 创建的主题 Java 如何在 1s 内广播消息到 30K 甚至更多的客户端?
rabbitmq
2015-11-02 08:24:35 +08:00
回复了 naquda 创建的主题 Java 如何在 1s 内广播消息到 30K 甚至更多的客户端?
消息中间件不就是干这个的么?非要自己写?
2015-10-24 11:09:58 +08:00
回复了 hooopo 创建的主题 分享发现 分享一个开源 BI 工具: Metabase
找到了, https://github.com/metabase/metabase ,可惜是 clojure 写的。。烦死
2015-10-24 11:08:33 +08:00
回复了 hooopo 创建的主题 分享发现 分享一个开源 BI 工具: Metabase
开源在哪儿??
2015-10-19 08:03:20 +08:00
回复了 ddqp 创建的主题 剧集 <琅琊榜> 不错,豆瓣评分也太高了吧, 9.3 分
本人觉得不值这个分。
1. 主人公没有一个对手,一直在智商碾压所有人
2. 誉王死后很拖沓

估计是这几年国产电视剧手撕鬼子多了,难得遇到一个还不错的。
2015-10-08 07:26:26 +08:00
回复了 88250 创建的主题 分享创造 Java 实时论坛 - Sym 1.3.0 发布
挺好的,加颗星
2015-10-07 17:49:22 +08:00
回复了 Andor_Chen 创建的主题 PHP 送几本《Modern PHP(中文版)》
求中奖啊,正好弄 PHP 在
外观无损坏就就好
2015-10-04 14:36:42 +08:00
回复了 beneo 创建的主题 程序员 感觉 Intellij 对 Gralde 支持不是很好,不知道是不是我不会用
不过实际使用的时候,比方说我加入一个 undertow ,然后去掉之后,用刷新还是无用的。我只能去 project structure 里面在我的 module 下面,手动把 dependence 去掉,或者重新导入工程才行。。。

@zhuangzhuang1988
1 ... 32  33  34  35  36  37  38  39  40  41 ... 43  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2860 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 34ms · UTC 08:23 · PVG 16:23 · LAX 00:23 · JFK 03:23
Developed with CodeLauncher
♥ Do have faith in what you're doing.