这是我正在使用的代码:
NSFileManager* defaultMgr = [NSFileManager defaultManager];
if (![defaultMgr fileExistsAtPath:path]) {
return nil;
}
其中 path 是系统上文件的 url,例如:“file://localhost/private/var/mobile/Applications/blahblahblah”
当调用 fileExistsAtPath: 时,这会与 SIGABRT 一起崩溃。该文件确实存在,也许字符串格式不是此方法所希望的,但它应该只返回 NO。这段代码是一个非常流行的库的一部分,虽然我不需要检查路径的存在,但我真的很想了解这里发生了什么,以防我需要直接使用这个方法。
特别:
- 图书馆作者是否正确使用了这种方法?
- 人们如何从这种方法中捕获或期望异常?
(SDK 文档没有讨论此方法可能引发的异常。) - 这是我应该向 Apple 报告的错误吗?
更多细节:我在装有 iOS 4.1 的 iPhone 4 设备上运行它