NSStream,NSError,错误代码

时间:2010-03-11 03:29:03

标签: objective-c

我正在开发小型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);

1 个答案:

答案 0 :(得分:2)

每个域在不同的地方都有错误代码,但Error Handling Guide for Cocoa中有摘要。甚至还有一些POSIX的摘要。 14是EFAULT

如果您知道底层系统调用很多次,您可以查看其手册页以获取有关错误代码的更多信息。例如,在这种情况下,您可以从终端调用man 2 read并指出:

 [EFAULT]           Buf points outside the allocated address space.