【问题标题】:Exception handling in Obj-CObj-C 中的异常处理
【发布时间】:2010-04-23 18:22:34
【问题描述】:

我一直在阅读 Apple developer docs 上有关异常处理的内容,但我想知道为什么标准 C 操作的异常没有被捕获?

例如下面的代码仍然会使应用程序崩溃,而不会将 div 捕获为零。 @try/@catch 块是否只会捕获 Obj-C 代码?

@try {
    int i = 10 / 0;
}
@catch (NSException * e) {
    NSLog(@"Div by zero!");
}
@finally {
    // Nothing...
}

【问题讨论】:

    标签: c objective-c exception exception-handling


    【解决方案1】:

    除以零不是NSException 类型的例外。事实上,就编程语言而言,它也不是真正的“例外”。与 C++、Java 等一样,C 本身没有任何异常。当在 C 语言中发生除以 0 时,处理器会“抛出”一个“异常”,并在低得多的级别处理该错误。

    【讨论】:

      猜你喜欢
      • 2011-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-11
      • 2011-04-27
      • 2011-09-11
      相关资源
      最近更新 更多