try〜catchのcatch内でエラーの内容に応じて処理を分けたい場合
タイトルの通りなのですが、
独自で作成したメソッドではなく元からあるメソッド(ex. contentsOfFile)を使った場合にエラーの内容で条件を分岐できる方法を探しています。
以下が今のコードなのですが、この状態ではどんなエラーが発生した場合にもファイルを保持していない場合の処理に流れてしまいます。
var temp = ""
var documentDir = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true).last
documentDir = documentDir?.stringByAppendingPathComponent("data")
documentDir = documentDir?.stringByAppendingPathComponent("table")
if let uwDocumentDir = documentDir {
do {
temp = try String(contentsOfFile: uwDocumentDir.stringByAppendingPathComponent("hoge.txt"),
encoding: NSUTF8StringEncoding)
} catch let error as NSError {
print("【エラーが発生しました : \(error)】")
}
if temp.isEmpty {
// ファイルを保持していない場合の処理
}
enumでどこかに記述してあるものなのでしょうか?