我正在开发小型FTP上传应用。对于mac(10.6如果重要)
NSStream有问题,实际上我无法理解如何通过代码找到我们的错误。
NSError code = 14 domain = NSPOSIXErrorDomain
在哪里检查14意味着什么?
谢谢。
以防这是我的代码(也许你也可以告诉我为什么会有错误)
NSString * filePath;
NSInputStream * fStream;
NSStreamStatus * status;
NSError * error;
filePath = @"/Users/Vic/Desktop/ftptest.txt";
fStream = [NSInputStream inputStreamWithFileAtPath:filePath];
[fStream open];
uint8_t * buffer;
NSInteger bytesRead;
bytesRead = [fStream read:buffer maxLength:32768];
error = [fStream streamError];
NSLog(@"error code=%d domain=%@",error.code,error.domain);
答案 0 :(得分:2)
每个域在不同的地方都有错误代码,但Error Handling Guide for Cocoa中有摘要。甚至还有一些POSIX的摘要。 14是EFAULT
。
如果您知道底层系统调用很多次,您可以查看其手册页以获取有关错误代码的更多信息。例如,在这种情况下,您可以从终端调用man 2 read
并指出:
[EFAULT] Buf points outside the allocated address space.