一个java新手的问题

问大家问题,如果要写一个接口给别人使用,要不要声明异常?比如说有一个getA()方法,调用这个方法未必一定能得到A的实例,对于拿不到的情况,是抛出一个自定义异常好呢还是直接返回null好,一般情况下是怎么处理的?清点拨,谢谢!!

调用 getA() 却得不到A 如果你的方法没有逻辑性的错误 那就是 别人调用的时候的参数有问题了。。。你可以把注解写详细点。。。参考下 java类库的处理办法。。
注解写得比主题代码还长。。。。
throw new Exception 以后在 return个 null 这样不就行了?

看项目的需求的,
有一种是全局集中控制异常处理的方式,那可以声明异常

当然有种就不是这么搞的,那就直接返回null就行了,
具体情况具体分析

如果你认为getA这个方法不一定能得到一个A的实例,那么你可以加上一个抛出异常的处理。一般情况下直接返回null,在调用这个方法的类中判定A的实例是否存在,还是null。

一般是你的getA()实现方法处理异常,
如果真有异常返null就可以了.
不过不同的需要也有不同的写法.
关键你看想不想暴露一些细节给你的用户,如果想抛异常,不想返回null

最好能抛出异常.这样可以捕捉不同的异常,做不同的处理.你返回null,鬼知道里面怎么了

如果你是通过getA()去得到一个实例,那么可以理解成一种creation method,也就是自我配置类型的构造器,在这种情况我觉得可以做成异常。因为creation method往往不仅仅是简单的 new A(), 可能还执行很多set 方法,然后才返回这个A的实例,所以到底哪一步出错你不得而知,需要异常来告诉使用者。