我的iPad应用使用Objective-C来实现UI,它调用一些C++函数进行计算。由于C++代码编写不够完善,当单独测试时,有时会抛出异常或导致段错误。但是,该C++代码目前正在由其他人开发,因此我不想更改它。是否可能在我的Objective-C代码中捕获异常和段错误,以便我不需要更改C++代码?我尝试了基本的try-catch,但似乎没有起作用(wrapper是有问题的C++函数)。
@try {
wrapper([imageName UTF8String]);
}
@catch (NSException *e) {
NSLog(@"Error");
}
当我运行我的应用并点击调用C++函数的按钮时,模拟器崩溃,并弹出错误信息:
libc++abi.dylib: terminating with uncaught exception of type NSException
。
NSException
实例。如果你想忽略所有异常,请使用catch (...)
。 - Darren