以前,写程序的时候,最怕遇到 NullPointerException 了,一看到,就是一身冷汗,心里想着
恐怕又得浪费 一个小时的时间来找到哪个对象 null 了。
XForum 的编码规范规定:必须对输入的参数进行 null 验证
用的是 Validation 里的一个方法,检查对象是否为 null :
public static void validateNotNull( final Object testObject )
{
// If object is null, then an exception is thrown
if ( testObject == null )
{
throw new IllegalArgumentException( "Object can't be null." );
}
}
如果把它改造成下面的形式,会使输出更加明显:
public static void validateNotNull(String objectName, Object object) {
if ( object == null ) {
throw new IllegalArgumentException( objectName + " can't be null !!!" );
}
}
比如在真正的程序里:
public void checkLogon( String username, String password ) {
Validation.validateNotNull( "username", username );
Validation.validateNotNull( "password", password );
// ...
}
以后,在程序运行的过程中,如果再出现 username 为 null 的时候
程序就会输出:
java.lang.IllegalArgumentException: username can't be null !!!
哈哈,再不用为找 null 犯愁了。
养成好的习惯,预防错误的发生,可以节省将来的好多时间。