2013年2月11日月曜日

NSError, OSStatus用のログをつくる

こんにちは, Audio系のプログラミング絶賛継続中です。
Audio系のAPIを使っているとその戻り値もしくは, Error の詳細が

NSError,  OSStatus として返ってくるケースが多いです。

このデータからできればエラーの詳細, プログラムを続けるかの可否, 独自のログメッセージなどが欲しいものです。というわけで少し作ってみました。


+(BOOL)errorLog:(NSError *)error message:(NSString *)message
{
    if ( error != nil )
    {
        NSLog(@"%@ : %@", message, [error localizedDescription]);
    }
    return error == nil;
}

+(BOOL)statusLog:(OSStatus)status message:(NSString *)message
{
    if ( status != noErr )
    {
        NSLog(@"Error - %@ %ld", message, status);
    }
    return status == noErr;
}

NSErrorの場合エラーがなければnilを返します。 OSStatusの場合0(noErr)  を返します。
そこで判定をいれてO.K.ならYES, だめならNOを返すようにつくりました。
エラーがある場合, NSError の場合, [error localizedDescription] でエラーの詳細がとれます。
OSStatus というのはSInt32のtypedefです。はいただの番号です。この番号からエラーを掘り出す訳ですが残念ながら, 詳細などを引っ張るには一覧などを参考にするしかありません。(しかもよくわからない)














0 件のコメント:

コメントを投稿