零星无法读取文件错误 - 文件不存在
我偶尔得到一个错误零星无法读取文件错误 - 文件不存在
***终止应用程序由于未捕获的异常“NSInvalidArgumentException”,理由是:“在文件无法读取文件:/// VAR /移动/应用/ D743821C-6F34-4E97-8FBA-D7EAD6738E38 /文档/ contacts.zip
***第一掷调用堆栈: (0x2ef1ef83 0x39799ccf 0x2eb5f7c3 0x2eb5f2dd 0x39c8181f 0x39c87677 0x2eb5f289 0x2eb9897f 0x172cb9 0x17bac3 0x5b769 0x160d99 0x69f2d 0x698cb 0x1709c7 0x17a9a3 0x39c81833 0x39c88ad7 0x39c88d29 0x39dc3bd3 0x39dc3a98) libC++ abi.dylib:以NSException类型的未捕获异常终止
程序在行
Info.uploadTask = [self.session uploadTaskWithRequest:request fromFile:url];
翻倒当我在设备容器我看到该文件不存在的样子。
我不明白
- 为什么在道路检查存在,如果该文件不存在
-
为什么程序,即使失败,虽然它是在一个try catch块
NSString *path = file.myPath; if ([[NSFileManager defaultManager] fileExistsAtPath:path]) { @try { NSURL *url = [NSURL fileURLWithPath:path]; Info.uploadTask = [self.session uploadTaskWithRequest:request fromFile:url]; } @catch (NSException *exception) { BLog("error Reading file:%@",path); return; } } else { BLog(@"file not found:%@",path); return; }
通行证
所以我有完全相同的问题 - NSURLSession由于某种原因无法读取文件。但是,我可以使用您拥有的相同代码捕获异常。我为方便创建了一个类别:
@implementation NSURLSession (DMAdditions)
- (NSURLSessionUploadTask * _Nullable)crashFreeUploadTaskWithRequest:(NSURLRequest *)request fromFile:(NSURL *)fileURL {
@try {
return [self uploadTaskWithRequest:request fromFile:fileURL];
}
@catch (NSException *exception) {
NSLog(@"We crashed: %@", exception);
return nil;
}
}
@end
我不能标记这是正确的答案,因为我不能再现 – 2016-02-02 16:52:35
它很容易使其崩溃,只是给它一个不好的网址。它会因相同的错误而崩溃。 – almas 2016-02-02 18:17:39
您是否曾设法为此找到解决方案?我们正在经历类似的行为。 – 2015-09-28 07:45:12
这个问题似乎解决了。 – 2015-10-23 08:34:33
我也遇到同样的问题,如果有人发现一个修复,请分享 – IdoT 2015-11-26 12:12:21