おひとり

できる限りひとりで楽しむための情報やプログラミング情報など。

【Swift 5】catchで捕捉したエラーの内容を表示する方法

f:id:hitoridehitode:20190616162725j:plain

Swiftでcatchした例外の情報を表示する方法を調べました。

catchでエラーを出力する方法

swiftでの do ~ catch で、全ての種類の例外に関する情報を出力する方法が分からなかったのですが、単純に以下のようにすれば良いようです。

do {
    try text.write(toFile: filePath, atomically: false, encoding: .utf8)
} catch {
    print("ERROR: \(error)") // errorを出力
}

宣言されていませんが、デフォルトでerrorの変数が利用可能です。
アナフォリックマクロを思い出しますね。

新たに変数にエラーの情報を束縛する方法

また、すでにerrorという変数名を利用している場合はletを利用することで指定した変数に束縛できます。

do {
    try text.write(toFile: filePath, atomically: false, encoding: .utf8)
} catch let ioError {
    print("ERROR: \(ioError)")
}

参考リンク

How to print details of a 'catch all' exception in Swift?