#11 Swiftで学ぶエラーハンドリングの基本
Swiftのエラーハンドリングは、「エラーを投げる可能性がある」ことを関数の宣言に明示する、独自の仕組みを持っています。この記事では、Swiftにおけるエラーハンドリングの基本を解説します。
throwsという宣言
エラーを投げる可能性がある関数には、`throws`というキーワードを付けます。
func divide(a: Int, b: Int) throws -> Int {
if b == 0 {
throw MyError.divideByZero
}
return a / b
}
do・try・catchで扱う
`throws`が付いた関数を呼び出すには、`do`・`try`・`catch`という組み合わせを使います。
do {
let result = try divide(a: 10, b: 0)
} catch {
print("エラーが発生しました")
}
関数呼び出しの前に`try`を付ける必要がある点が、他の言語とは違うSwiftらしい特徴です。
try?という便利な書き方
結果が失敗してもよい場合は、`try?`を使うと、失敗時に`nil`を返す形で簡潔に書けます。
let result = try? divide(a: 10, b: 0)
Swiftならではの注意点
`throws`が付いていない関数は、そもそもエラーを投げられません。「エラーハンドリングが必要な関数かどうか」が、関数の宣言を見ただけで分かるのが、Swiftの安全性を支える設計です。
まとめ
Swiftのエラーハンドリングは`throws`・`do`・`try`・`catch`が基本です。`try?`のような簡潔な書き方も状況に応じて活用しましょう。
本ページはプロモーションを含みます。
参考書籍(PR)
Swiftをもっと学びたい方には「これからつくる iPhoneアプリ開発入門」がおすすめです。
コメント
コメントを投稿