カテゴリ: Kotlin 更新日: 2026/03/08

Kotlinの例外処理の基本!try-catch-finallyの書き方を解説

Kotlinの例外処理の基本!try-catch-finallyの書き方を解説
Kotlinの例外処理の基本!try-catch-finallyの書き方を解説

先生と生徒の会話形式で理解しよう

生徒

「Kotlinでプログラムが途中で止まらないようにエラーを処理するにはどうすればいいんですか?」

先生

「Kotlinではtry-catch-finallyという仕組みを使って、エラー(例外)をキャッチして安全に処理できます。」

生徒

「それって他のプログラムでもよく使うんですか?」

先生

「はい、ほとんどのプログラミング言語で似たような仕組みがあります。初心者でも理解しやすいように具体例で説明しますね。」

1. 例外処理(try-catch-finally)とは?

1. 例外処理(try-catch-finally)とは?
1. 例外処理(try-catch-finally)とは?

プログラムを実行しているとき、開発者が予想もしなかったタイミングで発生するトラブルを「例外(Exception)」と呼びます。例えば、「インターネットがつながっていないのにデータを取得しようとした」「数字を入力すべき場所に文字を入力した」といったケースです。

もし例外が発生したとき、何の対策もしていないとアプリは突然強制終了してしまいます。これを防ぎ、エラーが起きても「今は通信が不安定ですよ」と優しくメッセージを出したり、安全に処理を続けたりするために、Kotlinではtry-catch-finallyという構文を使います。

構成は以下の3つの役割に分かれています。

  • try : 「エラーが起きるかもしれないけど、まずはやってみる処理」を書く場所です。
  • catch : もしエラーが起きたとき、「どうやって助けるか(対処法)」を書く場所です。
  • finally : エラーが起きても起きなくても、「最後に必ず片付け」をする場所です。

例えば、お料理で例えると「try:レシピ通りに作る」「catch:焦がしてしまったら作り直す」「finally:最後は必ずコンロの火を消して片付ける」という流れに似ています。プログラミング未経験の方でも、この3つのステップをセットで覚えることで、壊れにくいプログラムが書けるようになります。

2. Kotlinでの例外処理(try-catch-finally)の基本的な書き方

2. Kotlinでの例外処理(try-catch-finally)の基本的な書き方
2. Kotlinでの例外処理(try-catch-finally)の基本的な書き方

プログラミングをしていると、予期せぬエラー(例外)が発生してアプリが止まってしまうことがあります。そんな時、エラーをスマートに回避して処理を継続させるための仕組みが「例外処理」です。Kotlinでは、主にtrycatchfinallyという3つのブロックを組み合わせて記述します。

まずは、初心者の方でも分かりやすい「0で割り算をしてしまった場合」のサンプルコードを見てみましょう。


fun main() {
    // 1. まずはtryの中で実行したい処理を書く
    try {
        val number = 10
        val divisor = 0 // 0で割ろうとするとエラーが発生する
        val result = number / divisor
        println("計算結果は $result です")
    } 
    // 2. エラーが発生した場合の予備動作をcatchに書く
    catch (e: ArithmeticException) {
        println("【エラー発生】0で数値を割ることはできません。")
        println("詳細メッセージ: ${e.message}")
    } 
    // 3. 成功しても失敗しても必ず実行したい処理をfinallyに書く
    finally {
        println("計算処理を終了します。")
    }
}

【エラー発生】0で数値を割ることはできません。
詳細メッセージ: / by zero
計算処理を終了します。

このプログラムのポイントは、たとえ途中で計算エラーが起きても、アプリが強制終了せずにcatchブロックの内容を実行し、最後にfinallyで綺麗に処理を締めくくっている点です。finallyは、ファイルのクローズ処理やデータベースの切断など、後片付けが必要な場面で非常によく使われる重要なパーツです。

3. 複数の例外をキャッチする

3. 複数の例外をキャッチする
3. 複数の例外をキャッチする

場合によっては、異なる種類の例外をそれぞれ別の方法で処理したいことがあります。その場合はcatchを複数書くことができます。


fun main() {
    try {
        val text = "abc"
        val number = text.toInt() // 数字に変換できない
    } catch (e: NumberFormatException) {
        println("数値に変換できません: ${e.message}")
    } catch (e: Exception) {
        println("その他のエラー: ${e.message}")
    }
}

4. finallyの活用例

4. finallyの活用例
4. finallyの活用例

finallyは、ファイルやネットワークの接続を閉じる処理など、必ず実行したい処理を置くのに向いています。


fun main() {
    var resourceOpened = false
    try {
        resourceOpened = true
        println("リソースを開きました")
        throw RuntimeException("テストエラー")
    } catch (e: Exception) {
        println("エラー発生: ${e.message}")
    } finally {
        if (resourceOpened) {
            println("リソースを閉じました")
        }
    }
}

5. tryを式として使う

5. tryを式として使う
5. tryを式として使う

Kotlinではtryを式として使い、値を変数に代入することができます。これによりコードが簡潔になります。


fun main() {
    val number = try {
        "123".toInt()
    } catch (e: NumberFormatException) {
        0
    }
    println(number)
}

123

Kotlinを基礎からしっかり学びたい人や、 Java経験を活かしてモダンな言語にステップアップしたい人には、 定番の入門書がこちらです。

基礎からわかるKotlinをAmazonで見る

※ Amazon広告リンク

6. 初心者が気をつけるポイント

6. 初心者が気をつけるポイント
6. 初心者が気をつけるポイント
  • エラーの内容に応じたcatchを使うこと
  • むやみに例外処理で隠さない(原因がわからなくなる)
  • 必ず実行する必要のある処理はfinallyに入れる
  • 例外処理は必要な範囲だけに限定する
関連セミナーのご案内

【未経験OK】Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験する60分

「プログラミングを始めたい」を形にする。最新言語Kotlinで楽しむ、ものづくりの第一歩。

本講座は、プログラミング経験が全くない方のためのエントリー講座です。「コードを書くってどういうこと?」という基本から、世界中で使われている最新言語Kotlin(コトリン)を使って、実際にプログラムを動かすまでを体験します。難しい理屈よりも、まずは「自分の手で動かす楽しさ」を最短距離で実感していただきます。

具体的な体験内容と環境

【つくるもの】
簡単な言葉を入力すると自動で返答してくれる「対話型ミニプログラム」や、計算を自動化する「便利ツール」をゼロから作成します。黒い画面に自分の書いた文字が表示される瞬間は、最高の感動体験です。

【開発環境】
プロのエンジニアが実際に使っている開発ツールIntelliJ IDEA(インテリジェイ)をインストールします。ボタン一つで日本語化し、初心者でも迷わず操作できる「魔法の設定」を一緒に行います。

この60分で得られる3つの体験

1. 自分のパソコンが「開発基地」に

プロと同じ道具を揃えることで、明日から一人でもプログラミングを続けられる環境が整います。

2. プログラミングの「仕組み」がスッキリ

「変数」や「型」といった難しい言葉も、身近な例え話で解説。モヤモヤをゼロにします。

3. 「読みやすい」から「直せる」へ

Kotlinは英語に近くて読みやすいのが特徴。自分でコードを読んで、間違いを見つけるコツも伝授します。

※本講座は、パソコン操作が不安な方でも安心して受講いただける完全マンツーマンです。あなたのペースに合わせて、一つずつ丁寧に進めていきます。

セミナー画像

Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験

カテゴリの一覧へ
新着記事
New1
Go言語
Go言語のwhile的なforループの使い方!条件式ループの基本を解説
New2
Go言語
Go言語プログラムの実行方法まとめ!VSCode・ターミナルでの実行手順を解説
New3
Swift
Swift意味とは?プログラミング言語・金融・鳥の違いを徹底解説
New4
Swift
Swift 戻り値の扱い方と複数戻り値の返し方|初心者でも分かる関数の基本
人気記事
No.1
Java&Spring記事人気No1
Go言語
Go言語でリダイレクト処理を行う方法(http.Redirect)を初心者向けに解説
No.2
Java&Spring記事人気No2
Swift
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
No.3
Java&Spring記事人気No3
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.4
Java&Spring記事人気No4
Go言語
Go言語のgo.modファイル完全ガイド!初心者でもわかる仕組みと書き方
No.5
Java&Spring記事人気No5
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.6
Java&Spring記事人気No6
Go言語
Go言語で条件式を1行で書くコツ!三項演算子の代替と短縮記法
No.7
Java&Spring記事人気No7
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.8
Java&Spring記事人気No8
Go言語
Go言語でミドルウェアを作成する方法と活用例!初心者でもわかるWebアプリ開発