c - Obj-C 中的异常处理

标签 c objective-c exception exception-handling

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

例如下面的代码仍然使应用程序崩溃,但没有将 div 清零。 @try/@catch block 只会捕获 Obj-C 代码吗?

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

最佳答案

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

关于c - Obj-C 中的异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2700998/

相关文章:

c# - API问题中的异常处理

c# - 二进制到 BigInteger 代码的 ArgumentOutOfRange 异常

c# - 如何使用 zedgraph 将串行数据从 Arduino 发送到 Visual Studio C#,反之亦然

iphone - 'NSData'没有可见的@interface声明选择器

java - Android-java.lang.IllegalArgumentException

iphone - 在真实iPhone 4上进行测试时,UILabel的新文本与以前的文本结合在一起

ios - UIButton图像居中文本右侧

c - C 中函数读取文件的意外行为

c - C 中的 header 问题

计算已编译 C 程序的代码指标