我正在尝试在多线程中调用 [NSData writeToFile:atomically]。
[myLock lock];
[myData writeToFile:aPath atomically:YES];
[myLock unlock];
但是如果writeToFile抛出异常,则不会调用[myLock解锁]。那么,我应该像这样使用 try-cache 吗?
@try
{
[myLock lock];
[myData writeToFile:aPath atomically:YES];
}
@catch (NSException *exception) {
// deal with the exception
}
@finally {
[myLock unlock];
}
更新: 将“自动”更改为“原子”
最佳答案
它不会抛出任何异常(文档中也没有提到这一点)。如果您担心处理错误,请使用其他 API:
- writeToFile:options:error:
关于objective-c - [NSData writeToFile : atomically] throw an exception when error happens?],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32355989/