以前,写程序的时候,最怕遇到 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 犯愁了。
养成好的习惯,预防错误的发生,可以节省将来的好多时间。
|
|