どのプログラミング言語に限ったことではないのですが例外処理の考え方がいまいちわかりません。
今回はSwift 2を使っています。
do-catch文で例外が起きそうなところをdoブロックで囲むのですが、その例外が起きそうなところすらわからない人はどうすれば良いのでしょうか?
自分でも「ファイルアクセスをしたがファイルがなかった」、「外部APIを叩く際に、APIを提供するサーバがダウンしていた」、「ネットワークの状態が悪く通信できなかった」、「データベースアクセスの際にHDDが破損していて保存できなかった」ぐらいのことはわかるですが、おそらく自分よりできるエンジニアの人はこれ以上の例外処理のケースの引き出しを持っていると思います。
となると、「この処理をした場合、どんな例外が起きるか?」を考えることは大切だとは思うのですが、一般的にはある程度は例外の主なケースを頭に入れておきその処理をする際にdo-catch文を使うという認識であってますでしょうか?
またSwift 2ではenumを使い、ErrorTypeプロトコルに準拠させたエラーの種類の列挙型を作れるのですが、このようにできるということは前もってプログラミングの段階で例外の種類はわかっているということなのでしょうか?
その場合、例外の種類はどの程度で分類するのでしょうか?
例外でもハード系、アプリケーション系、ネットワーク系、その他の4種類に自分は分けられると思っていてとなると
swift
1enum ExceptionError: ErrorType { 2 case Hardware 3 case Applicatioin 4 case Network 5 case Other 6}
になるのでしょうか?
宜しくお願い致します。
特に最初のどこで例外が起きるかの考え方がわからないです。
回答4件
あなたの回答
tips
プレビュー