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条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!