オプショナルチェーンとエラー処理の基本
オプショナルチェーン、guardパターン、try?/try!、do/catchを使って、値の欠如やエラーを処理します。代替手段としてResult も学びます。
「オプショナルチェーンとエラー処理の基本」はCoddyKit上の無料Swift Academyレッスンです。 これはレッスン1/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSwift Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Swift Academyコースには全3レッスンが含まれています。
導入
このレッスンでは、オプショナルとエラーハンドリングを関連付けて学びます。チェイニング、guardパターン、try?/try!、Resultについて確認します。
オプショナルチェイニング
オプショナルチェイニング(a?.b?.c)は、いずれかのリンクがnilの場合に処理を停止し、nilを返します。
struct User { var address: Address? }
struct Address { var city: String }
let u: User? = User(address: Address(city: "Paris"))
print(u?.address?.city) // Optional("Paris")guardパターン
guard letはオプショナルがnilの場合に早期終了し、その後もアンラップした値を利用できるようにします。
func greet(_ name: String?) {
guard let n = name else {
print("No name")
return
}
print("Hello, \\(n)!")
}
greet(nil)
greet("Ada")try?とtry!の比較
try?はエラー時にnilを返します。try!はエラーがスローされるとクラッシュします。
enum ParseErr: Error { case bad }
func parse(_ s: String) throws -> Int {
guard let n = Int(s) else { throw ParseErr.bad }
return n
}
let ok = try? parse("10") // Int?
let fail = try? parse("xx") // nil
// let crash = try! parse("xx") // runtime crashdo/catch
do/catchはスローされたエラーを明示的に処理します。
do {
let n = try parse("42")
print(n)
} catch {
print("error:", error)
}Result型
Result<T,Error>は、エラーをスローせずに成功または失敗を表します。
func safeParse(_ s: String) -> Result<Int,Error> {
do { return .success(try parse(s)) }
catch { return .failure(error) }
}
print(safeParse("5"))
print(safeParse("oops"))オプショナルチェイニングの確認
クイックチェック: オプショナルチェイニングは何をしますか?
振り返り
振り返り: オプショナルとエラーハンドリングを組み合わせます。チェイニング、guard、try?/try!、do/catch、Resultを使って、値の不在や失敗を安全に扱います。
よくある質問
「オプショナルチェーンとエラー処理の基本」レッスンは無料ですか?
はい。「オプショナルチェーンとエラー処理の基本」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Swift Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Swift Academyコースには全3レッスンが含まれています。
「オプショナルチェーンとエラー処理の基本」で何を学びますか?
オプショナルチェーン、guardパターン、try?/try!、do/catchを使って、値の欠如やエラーを処理します。代替手段としてResult も学びます。 ブラウザで直接実行するハンズオンコードでSwift Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Swift Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのSwift Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/3です。
「オプショナルチェーンとエラー処理の基本」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このSwift Academyレッスンでコードを書いて実行できますか?
はい。すべてのSwift Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- オプショナルチェーンとエラー処理の基本
- do/catchとエラーの定義(列挙型)
- Result型 — Result