1-9 エラーハンドリング(do-catch文)

Swiftでは、エラーハンドリングを行うためにdo-catch文を使用します。

「エラーハンドリング」ってよく聞くけど、なんなの?

エラーハンドリングとは、
プログラムの実行中に発生するエラーや例外を処理する方法です。

プログラムが実行されるときには、さまざまな種類のエラーが発生する可能性があります。
例えば、ファイルが存在しない、ネットワーク接続が切断される、データの処理に予期しないデータの型が検出されるなどです。

エラーハンドリングの目的は、プログラムがエラーに遭遇したときにプログラムが停止せずに、エラーを適切に処理して実行を継続することです。

これにより、プログラムが安全に動作し、ユーザーにわかりやすいエラーメッセージを表示することができるのです。

エラーハンドリングの構文

エラーが発生する可能性のあるコードをdoブロック内に try で宣言して配置し、それをcatchブロックでキャッチして処理します。

do {
    try エラーが発生する可能性のある処理
} catch {
		エラーが発生した場合の処理
}

do-catch文 の 使用方法

// 5つの要素をもつ配列
let numbers = [1, 2, 3, 4, 5]

do {
    // 配列の要素を取り出す
    let element = try numbers.at(6)
    print("取り出した要素: \(element)")
} catch {
    // エラーを処理する
    print("エラーが発生しました: \(error)")
}

この例では、配列の要素を取り出す際に at( ) メソッドを使用しています。

しかし、インデックスが0~4の配列numbersに対して、範囲外の6を指定しているので、エラーが発生します。

try キーワードでこの処理をし、 catch ブロックでエラーをキャッチします。

catchブロックで、エラーハンドリングを行っています。

まとめ

  • do-catch文は、エラーが発生する可能性のあるコードをラップ(囲む)し、エラーが発生した場合にそのエラーをキャッチして処理するための構文

ドリル

do {
    let animal = try animals.at(10)
    print("取り出した動物: \(animal)")
} catch {
    print("予期しないエラーが発生しました: \(error)")
}