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)")
}