34

以下に示すように、ViewControllerにメソッドがあります。

- (void)parser:(PaymentTermsLibxmlParser *)parser encounteredError:(NSError *)error
{
    NSLog("error occured");
}

ここでは、アラートのNSErrorに実際のエラーメッセージを表示する必要があります。誰でもそれを取得する方法を提案できます。

4

4 に答える 4

46

通常[error localizedDescription]、ユーザーに表示するテキストを取得するために使用します。

その他のオプションについては、NSError のドキュメントを参照してください。

開発時の単純なロギングについては、次のことができますNSLog(@"Error: %@", error)。(これにより、Xcode のログに「localizedDescription」とその他すべてが表示されます。)

于 2010-08-10T07:25:48.990 に答える
5

現在の回答に追加するために、失敗メッセージと失敗理由を取得できます。これを行うには、NSError が表示されたときにこれを行うことができます。

NSString *message = [NSString stringWithFormat:@"%s\n%@\n%@", __PRETTY_FUNCTION__, displayRegion, [error localizedDescription], [error localizedFailureReason]];

これにより、エラーが発生したメソッドの名前、エラーの説明、およびエラーを説明する文を含む 3 行の文字列が作成されます。

NSError でさらに情報が提供されている場合は、localizedRecoverySuggestion も取得して、次のようにメッセージに追加できます。

NSString *message = [NSString stringWithFormat:@"%s\n%@\n%@\n%@", __PRETTY_FUNCTION__, displayRegion, [error localizedDescription], [error localizedFailureReason], [error localizedRecoverySuggestion]];
于 2015-04-24T16:13:20.057 に答える
1

ユーザー error.userInfo、それは辞書 ex を返します:

 NSLog(@"%@",error.userInfo);
{
code = 101;
error = "invalid login parameters";
originalError = "Error Domain=NSURLErrorDomain Code=-1011 \"The operation        couldn\U2019t be completed. (NSURLErrorDomain error -1011.)\"";
temporary = 0;
}
于 2015-04-15T09:30:52.037 に答える