#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アプリ開発入門」がおすすめです。

コメント

このブログの人気の投稿

#11 Rustで学ぶエラーハンドリングの基本

#16 TypeScriptで学ぶ辞書型(マップ)の基本

#19 Goで学ぶテスト(単体テスト)の基本