假设我有一些方法:
foo()
{
thing = doSomething();
if(somethingBadHappens)
return null;
return thing;
}
我不明白为什么有人会返回空指针而不是定义自己捕获的异常类型。
foo()
{
thing = doSomething();
if(somethingBadHappens)
throw new CustomCaughtException();
return thing;
}
主要优点是需要处理失败的案例。除了制作许多不同的例外的问题,还有哪些其他缺点?