カテゴリ: Kotlin 更新日: 2025/09/12

Kotlinのtry式とは?初心者でもわかる例と使い方をやさしく解説

Kotlinのtry式(式としての使い方)を初心者向けに解説
Kotlinのtry式(式としての使い方)を初心者向けに解説

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

生徒

「先生、Kotlinのtryって、例外処理だけに使うものなんですか?」

先生

「いい質問ですね。実はKotlinでは、tryは“式”としても使えるんです。」

生徒

「“式”ってなんですか?初めて聞きました……」

先生

「大丈夫、初心者でもわかるように、これからやさしく解説しますね!」

1. Kotlinのtryは“文”ではなく“式”としても使える

1. Kotlinのtryは“文”ではなく“式”としても使える
1. Kotlinのtryは“文”ではなく“式”としても使える

Kotlin(コトリン)では、エラーを処理するときにtryを使いますが、それだけではありません。tryは「式(しき)」としても使えるのです。

ここでいう「式」とは、値(あたい)を返すものを意味します。たとえば、1 + 1という計算は「2」という結果を返すので、これも「式」です。

try式も同じように、何かの結果を返すことができるので、val(変数の定義)などにも使えるんです。

2. try式の基本的な書き方

2. try式の基本的な書き方
2. try式の基本的な書き方

それでは、Kotlinでtry式を使った簡単な例を見てみましょう。


fun main() {
    val result = try {
        10 / 2
    } catch (e: Exception) {
        0
    }
    println("計算結果は $result です")
}

このプログラムでは、tryブロックの中で10 / 2を計算し、問題がなければその結果(5)がresultに入ります。

もし計算中にエラー(例外)が発生した場合は、catchブロックが実行されて、0が返される仕組みです。


計算結果は 5 です

3. try式は変数代入に便利

3. try式は変数代入に便利
3. try式は変数代入に便利

try式を使うことで、エラーがあっても安全に値を設定できます。例えば、ユーザーが入力した数字を整数に変換したいときにも使えます。


fun main() {
    val input = "123"
    val number = try {
        input.toInt()
    } catch (e: NumberFormatException) {
        -1
    }
    println("変換結果は $number です")
}

この例では、文字列"123"を数値に変換しています。toInt()で失敗するとcatchに入り、-1が代入されます。


変換結果は 123 です

4. try式でのfinallyブロックの扱い

4. try式でのfinallyブロックの扱い
4. try式でのfinallyブロックの扱い

try式にはfinallyも使えますが、finallyは結果には影響しません。必ず最後に実行される処理を書くだけです。


fun main() {
    val result = try {
        10 / 2
    } catch (e: Exception) {
        0
    } finally {
        println("後処理を行います")
    }
    println("結果は $result")
}

この例では、finallyの中のprintlnは実行されますが、resultの値には関係ありません。


後処理を行います
結果は 5

5. try式の中で関数を呼び出すこともできる

5. try式の中で関数を呼び出すこともできる
5. try式の中で関数を呼び出すこともできる

さらに応用として、try式の中で関数を呼び出すことも可能です。


fun safeDivide(a: Int, b: Int): Int {
    return try {
        a / b
    } catch (e: ArithmeticException) {
        -1
    }
}

fun main() {
    val result = safeDivide(10, 0)
    println("安全な割り算の結果: $result")
}

このコードでは、0で割ろうとしてもエラーを出さずに-1を返します。こうすることで、安全にプログラムを続けられます。


安全な割り算の結果: -1

6. Javaとの違い:Kotlinはtryもreturnも柔軟に使える

6. Javaとの違い:Kotlinはtryもreturnも柔軟に使える
6. Javaとの違い:Kotlinはtryもreturnも柔軟に使える

Javaではtryは「文」としてしか使えないので、returnの中に書くのは少し面倒です。でも、Kotlinではtry式として扱えるので、関数の中で直接return try { ... }と書けます。


fun getNumber(input: String): Int {
    return try {
        input.toInt()
    } catch (e: NumberFormatException) {
        -1
    }
}

このように、関数の戻り値としてtryを直接使えるのがKotlinの魅力です。

カテゴリの一覧へ
新着記事
New1
Kotlin
Kotlinの構文ルールまとめ!インデント・セミコロンなど初心者が最初に覚えるべきポイント
New2
Kotlin
Kotlinの関数ドキュメンテーションコメント(KDoc)の書き方を徹底解説!初心者でもわかる丁寧なガイド
New3
Kotlin
KotlinでHello Worldを表示するには?最初の1行を実行してみよう
New4
Go言語
Go言語の依存関係管理を始めよう!go modの基本設定と導入手順
人気記事
No.1
Java&Spring記事人気No1
Go言語
Go言語の関数パラメータ!値渡しと参照渡しの違いを理解しよう
No.2
Java&Spring記事人気No2
Kotlin
KotlinのAPI通信でGETリクエストを送る方法!初心者向け徹底ガイド
No.3
Java&Spring記事人気No3
Go言語
Go言語のテストでタイムアウト・並行処理を扱うポイント
No.4
Java&Spring記事人気No4
Swift
SwiftのURLSessionでのネットワークエラー対策!再試行とタイムアウトを初心者向けに解説
No.5
Java&Spring記事人気No5
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.6
Java&Spring記事人気No6
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.7
Java&Spring記事人気No7
Go言語
Go言語のWebアプリにおけるセキュリティベストプラクティス集
No.8
Java&Spring記事人気No8
Swift
Swift JSONデコード失敗の原因と対処|DecodingError徹底解説