weixin_42419257 2011-02-28 16:35
浏览 336
已采纳

是抛出异常?还是返回错误字符串?

近日在做一个项目, 这个项目分为多个模块,包括前台tomcat,后台服务等等。 其中后台服务 是 使用spring 将调用的接口bean 发布成JMX服务。现在有一个问题,就是当某个方法执行出错的时候,是返回错误字符串?还是抛出系统异常?

是所有的方法都返回下面的固定结果?
[code="java"]
Class Result{
String errorString;
Object result;
Boolean success;
[/code]

还是出错后 抛出系统异常?
[code="java"]
public void foo(){
try{
}catch(Exception e){
throw new AppException("...");
}
}
[/code]

不知这两种方法哪种好一些?

这个问题可能有些新手了,请各位见谅。。

  • 写回答

4条回答 默认 最新

  • href_2007 2011-03-02 22:31
    关注

    看需求了,如果是客户端必须处理这种错误并且可以恢复(被检查异常),或者出错了,程序必须终止(运行时异常),那么就应该抛出异常。
    返回错误码的话会减少程序的可靠性,因为调用接口的客户完全可以忽略掉这个错误码。

    虽然抛出异常会有性能开销,但不至于导致性能瓶颈,所以我觉的抛出异常好点。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧