0Pricing
Swift Academy · レッスン

オプショナルチェーンとエラー処理の基本

オプショナルチェーン、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 crash

do/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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. オプショナルチェーンとエラー処理の基本
  2. do/catchとエラーの定義(列挙型)
  3. Result型 — Result
← Swift Academyに戻る