我偶尔会收到一个错误
***由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'无法读取文件:///var/mobile/Applications/D743821C-6F34-4E97-8FBA-D7EAD6738E38/Documents/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];
Run Code Online (Sandbox Code Playgroud)
当我在设备容器中查看时,我看到文件不在那里.
我不明白
为什么程序失败,即使它在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;
}
Run Code Online (Sandbox Code Playgroud)所以我遇到了完全相同的问题 - 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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
682 次 |
| 最近记录: |