欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

疯子在思考之-异常与return 的差别

程序员文章站 2022-03-05 10:47:35
...

 程序异常会中断程序执行,所有所有的异常都需要捕获,否则会导致程序中断,一般异常由服务提供者捕出,由服务调用者捕获。这里借用think in java  的服务器程序员与客户端程序员概念。

 

为什么使用异常

1 返回的类型不支持,通过异常返回给用户。例如 boolean login(username,password)

2 可以显示的提示客户端程序员进行捕获异常并做出处理

存在问题:性能问题

解决办法:

覆写fillInStackTrace

http://www.blogjava.net/stone2083/archive/2010/07/09/325649.html

 

通过枚举取代异常

1 解决boolean类型不支持多种情况的返回结果

2 客户端可以通过swich显示对所有错误进行处理

 

附错误代码规范 参考新浪微博错误代码

http://open.weibo.com/wiki/Error_code

疑问:公共错误的错误信息处理

 如 content is null 

不同模式的内容为空提示信息应该是不一样的

如微博为空

评论为空

用户名为空

密码为空等

他们的错误代码是一样的

但提示信息不同,怎么定义最为合适呢?

 

错误枚举:

ERROR_TYPE{

CONTENT_IS_NULL("20001"),

WEIBO_IS_NULL("20001",模块编码 )

}

客户端通过枚举的key获取配置的错误信息+错误代码返回给客户端

 

时隔三年,该帖作者重新编辑

 

综上所述,用异常来定义错误码总结来说比例合适

1.通过异常的中断机制,实现代码的优先返回

2.程序统一捕获对异常做统一处理

3.关于性能问题上文有描述