zoukankan      html  css  js  c++  java
  • 疯子在思考之-异常与return 的差别

     程序异常会中断程序执行,所有所有的异常都需要捕获,否则会导致程序中断,一般异常由服务提供者捕出,由服务调用者捕获。这里借用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.关于性能问题上文有描述

  • 相关阅读:
    TCP流量控制
    TCP可靠传输的实现
    springbean补充:关于bean的属性
    mybatis分页插件,自动生成代码插件
    mybatis拦截器,分页插件
    mybatis注解开发
    mybatis缓存
    mybatis调用存储过程
    Oracle学习笔记12:oracle优化
    Oracle学习笔记11:触发器
  • 原文地址:https://www.cnblogs.com/hiaming/p/8967784.html
Copyright © 2011-2022 走看看