阅读《Effective java》,它提到我们需要验证方法参数作为一个好的实践,为公共(public)方法抛出异常,为私有(private)方法断言。但是,我们是否需要对实例变量采取任何措施?
EG:(不要将示例作为用例,主要问题是我需要验证实例变量还是不需要?
。示例仅用于解释我的意思。)
class Tree {
private Node root;
public doSomething() {
TreeNode node = root;
}
}
现在假设root
从未初始化并且直接调用doSomething()
,这将导致NullPtrException。
我们需要防范吗?如果是的话怎么办?如果没有那为什么不呢?
最佳答案
怎么样:
if (root == null) {
throw new SomethingException();
}
TreeNode node = root;
简单地说,只需对 root 变量执行 null 检查,如果为 null,则执行相应的代码来修复该问题或为其抛出新的异常。
关于java - 实例变量验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19035127/