例外とエラー - shirai/SwiftLearning GitHub Wiki

例外とエラー

NSException

目標

  • NSExceptionの概要を説明できる

わかったこと

  • Objective-Cにおける例外クラス
  • NSExceptionは名前(NSString *name)、理由(NSString *reason)、ユーザー辞書(NSDictionary *userInfo)の情報を持つことができる
  • [例外インスタンス名 raise]; で自発的に例外を発生させることができる

つぎにやること

■「詳解Objective-C」18章(p456~)読み込み ■学習まとめ作成

例外の補足

目標

  • 例外を補足する事ができる。また、try{}catch{}の危険性を説明できる

わかったこと

例外の補足方法

@try{ 例外の起こりうる処理 } @catch(NSException *変数名){ 例外が起きた時の処理 } @finally{ 後処理 }

try{}catch{}の危険性

  1. 例外が発生した時点で、catch部分に飛んでしまうため、未実行の処理ができ、本来必要な処理を行えない場合がある。
  2. 例外が発生し、例外ハンドラに処理が移ると、それまで使っていたオブジェクトの解放が正しく行われない場合がある。weak参照ではゼロ化が行われない。

つぎにやること

■「詳解Objective-C」18章(p456~)読み込み ■学習まとめ作成