Throwing ArgumentNullException

前端 未结 12 2204
名媛妹妹
名媛妹妹 2020-12-08 02:10

Suppose I have a method that takes an object of some kind as an argument. Now say that if this method is passed a null argument, it\'s a fatal error and an exception shoul

12条回答
  •  -上瘾入骨i
    2020-12-08 02:27

    I agree with the idea of failing fast - however it is wise to know why failing fast is practical. Consider this example:

    void someMethod(SomeClass x)
    {       
        x.Property.doSomething();
    }
    

    If you rely on the NullReferenceException to tell you that something was wrong, how will you know what was null? The stack trace will only give you a line number, not which reference was null. In this example x or x.Property could both have been null and without failing fast with aggressive checking beforehand, you will not know which it is.

提交回复
热议问题