2016-05-20 4 views

答えて

3

[NSException new]は有用な情報が含まれていないため、nullクラスをインスタンス化します。それNSExceptionインスタンスを生成しない、とのようなあなた:

@catch (NSException *ex) 
{ 
    NSLog(@"exception caught"); 
} 

は無用です。しかし、あなたが使用する場合:

@catch (id exception) 
{ 

} 

この空のオブジェクトをキャッチします。

Handling Exceptions上の公式ドキュメントからの抜粋:

あなたは@catchエラー処理ブロックのシーケンスを持つことができます。各ブロック は、異なるタイプの例外オブジェクトを処理します。あなたは他の皆のために働いていた:)例外オブジェクト(少なくとも特定のタイプであることのid)の少なくとも固有の タイプに最も固有の@catchブロックのこの シーケンス...

+0

おかげで、注文する必要があります詳細については、次のリンクを参照してください。https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/Exceptions/Tasks/HandlingExceptions.html#//apple_ref/doc/uid/20000059 -SW1 – prabodhprakash

1

に@throwによってスローあなたは

@throw [NSException exceptionWithName:@"Exception!" reason:nil userInfo:nil];

か「の作成にNSException記載されているを構築するためにいくつかの他の有効な方法を使用してNSExceptionを初期化する必要がありますし、 Appleドキュメントの「NSExceptionオブジェクトの生成」ページを参照してください。 https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSException_Class/index.html#//apple_ref/occ/cl/NSException

関連する問題

 関連する問題