Where do Exceptions Originate?(异常的起源在哪?)
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
你可能也非常想知道,异常最先发生在哪里呢?有两个最主要的可能,第一个是发生在基础类库中(Base library),很多基础类库中的类,当运行在错误条件下,就会抛出异常。第二个,当然是应用程序本身的代码出了问题,这点会在下节详细描述。还有一点,异常不会在使用C语言库函数的时候自动出现,因此,如果你使用了C语言的代码调用了C语言的库函数,你需要自己去检查错误。
另外一点,异常不会发生在消息调用的时候。如果将消息发给了一个nil对象,Objective-C语言的运行时会默默忽略这个错误。如果将消息发送给了一个无法响应这个消息的对象,那么就会调用forwardInvocation方法(在高级消息章节中讨论过)。
在线练习
{$ activeFileHint $}