This is so-called 防御式编程