解释为什么NSURL会在nil上抛出错误

Mic*_*sky 5 objective-c ios

如果传递了nil或者一些错误,Objective-C中的所有类的大多数都会返回nil,但NSURL会引发异常.具体来说,该方法[NSURL fileURLWithPath].

记录: "为此参数传递nil会产生异常."

但是,任何人都可以解释苹果会抛出异常而不是返回零吗?

CRD*_*CRD 1

它正在调用一个nil允许的方法。如果给出无效参数,许多方法可能会引发异常。例如参见NSMutableArrayaddObject: