1. ホーム
  2. ios

[解決済み] Swiftで'catch all'例外の詳細を表示するには?

2023-03-31 19:56:40

質問

私はSwiftを使用するために私のコードを更新しています。そして、私は 'catch all' 節に一致する例外のためにエラーの詳細を表示する方法を疑問に思っています。 私はこれからの例を少し修正しました Swift 言語ガイドページ から、私のポイントを説明するために例を少し修正しました。

do {
    try vend(itemNamed: "Candy Bar")
    // Enjoy delicious snack
} catch VendingMachineError.InvalidSelection {
    print("Invalid Selection.")
} catch VendingMachineError.OutOfStock {
    print("Out of Stock.")
} catch VendingMachineError.InsufficientFunds(let amountRequired) {
    print("Insufficient funds. Please insert an additional $\(amountRequired).")
} catch {
    // HOW DO I PRINT OUT INFORMATION ABOUT THE ERROR HERE?
}

予期せぬ例外をキャッチした場合、その原因について何かログを残せるようにする必要があります。

どのように解決するのですか?

Swiftのドキュメントにこんな一行があることに気がつきました。

catch節がパターンを指定しない場合、節はマッチし、エラーはerrorという名前のローカル定数にバインドされます。

そこで、次に試したのがこれです。

do {
    try vend(itemNamed: "Candy Bar")
...
} catch {
    print("Error info: \(error)")
}

そして、素敵な描写をしてくれました。