Java 检查错误还是破例更好

Java 检查错误还是破例更好,java,exception,Java,Exception,这两种方法中哪一种更好 if(object != null) ... else ... 或 在我们学校,有些老师更喜欢第二个,但我不确定这是个好主意。有人能告诉你该用哪个,为什么?提前谢谢。我会检查错误。异常会占用更多的资源。但是,如果此对象为null,则很少使用异常,因为它不应为null。性能不是最相关的问题。问题是,这两者中的哪一个会导致更可读/可维护/可测试的程序。以后您可以担心性能问题 一般来说,不要将异常用于流控制。它们实际上是一种非本地的后继程序,这使得程序更难阅读和遵循。因此

这两种方法中哪一种更好

if(object != null)
 ...
else
 ...


在我们学校,有些老师更喜欢第二个,但我不确定这是个好主意。有人能告诉你该用哪个,为什么?提前谢谢。

我会检查错误。异常会占用更多的资源。但是,如果此对象为null,则很少使用异常,因为它不应为null。

性能不是最相关的问题。问题是,这两者中的哪一个会导致更可读/可维护/可测试的程序。以后您可以担心性能问题

一般来说,不要将异常用于流控制。它们实际上是一种非本地的后继程序,这使得程序更难阅读和遵循。因此,它们应保留用于特殊情况。如果您可以不使用try-catch块来控制流量,请不要这样做。您的程序将更具可读性和可维护性

处理这种情况的“正确”方法是

 if(object != null)
 ...
else
 ...
如果有一个断言可以保证someMethod返回值不为null和不为空,那么可以避免检查对象是否为notnull和notempty


然而,例外情况确实在本地代价高昂。它们是否会影响程序的性能完全是另一个问题。但是如果使用得当,异常通常不会成为瓶颈(当应用程序崩溃时,谁会关心性能呢?

不,永远不要捕获
NullPointerException
。预防总是更好的。可能的重复
 if(object != null)
 ...
else
 ...