阅读有效的java,它提到我们需要验证方法参数作为一种好习惯,公共方法抛出异常,私有方法断言。但是,我们是否需要对实例变量采取任何措施。
EG:(不要将示例作为用例,主要问题是Do I need to validate instance var or Not ?
。示例仅用于解释我的意思。)
class Tree {
private Node root;
public doSomething() {
TreeNode node = root;
}
}
现在假设root
从未初始化并doSomething()
直接调用,它会导致 NullPtrException。
Do we need to guard against it ? If yes then how ? If no then why not ?