问题描述
近日在做一个项目, 这个项目分为多个模块,包括前台tomcat,后台服务等等。 其中后台服务 是 使用spring 将调用的接口bean 发布成JMX服务。现在有一个问题,就是当某个方法执行出错的时候,是返回错误字符串?还是抛出系统异常?是所有的方法都返回下面的固定结果?Class Result{ String errorString; Object result; Boolean success;还是出错后 抛出系统异常?public void foo(){ try{ }catch(Exception e){ throw new AppException("..."); }}不知这两种方法哪种好一些?这个问题可能有些新手了,请各位见谅。。 问题补充:地狱牢笼 写道
解决方案
看需求了,如果是客户端必须处理这种错误并且可以恢复(被检查异常),或者出错了,程序必须终止(运行时异常),那么就应该抛出异常。返回错误码的话会减少程序的可靠性,因为调用接口的客户完全可以忽略掉这个错误码。虽然抛出异常会有性能开销,但不至于导致性能瓶颈,所以我觉的抛出异常好点。
解决方案二:
一般都在开发的时候抛异常. 项目上了当然是字符串了,第一开销小点 第二不要对用户太透明. 所以维护的时候都是重新错误去查log;
解决方案三:
我觉得:框架型的抛异常,业务性的抛字符串(业务性的异常开销比较大,而且对用户来说不是很透明)。
解决方案四:
抛出,记日志!
时间: 2024-08-31 08:29:25