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

Kotlinの例外処理と戻り値の関係を理解しよう!初心者にもやさしいやり方を徹底解説

Kotlinの例外処理と戻り値の関係を理解しよう
Kotlinの例外処理と戻り値の関係を理解しよう

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

生徒

「Kotlinの例外処理ってエラーを捕まえるやつですよね?それと戻り値って関係あるんですか?」

先生

「そうですね。Kotlinではエラーが起きたときに、戻り値がどうなるかという点も重要なんですよ。」

生徒

「プログラムの結果を返すのが戻り値ですよね?エラーが出たら返されないんですか?」

先生

「いい質問です!Kotlinの例外処理と戻り値の関係について、具体的な例を交えて解説していきましょう。」

1. 例外処理と戻り値とは何かを確認しよう

1. 例外処理と戻り値とは何かを確認しよう
1. 例外処理と戻り値とは何かを確認しよう

例外処理とは、プログラムの途中でエラーが発生したときに、そのまま止まらずに「どうにかして処理を続ける」しくみのことです。Kotlinではtrycatchを使って例外を処理します。

一方、戻り値(もどりち)は、関数が終わったときに「こういう結果になったよ」と返す値のことです。電卓の「=」を押した後の答えのようなイメージです。

Kotlinでは、例外が発生すると、その時点で関数の実行が中断されて、戻り値が返らなくなることがあります。

2. 例外が起きたら戻り値はどうなる?

2. 例外が起きたら戻り値はどうなる?
2. 例外が起きたら戻り値はどうなる?

例えば、「割り算」をする関数を作ってみましょう。ただし、0で割るとエラー(ArithmeticException)になります。


fun divide(a: Int, b: Int): Int {
    return a / b
}

この関数を使って次のように呼び出したとします:


val result = divide(10, 0)
println(result)

このとき、bが0なのでエラーが起きて、resultには何も代入されません。そしてプログラムはエラーを表示して止まってしまいます。


Exception in thread "main" java.lang.ArithmeticException: / by zero

つまり、例外が発生した時点で戻り値は返らず、関数は途中で終了するのです。

3. try-catchを使えば戻り値を安全に扱える

3. try-catchを使えば戻り値を安全に扱える
3. try-catchを使えば戻り値を安全に扱える

戻り値を確実に受け取りたいときは、try-catchで例外をつかまえて、エラーのときだけ別の値を返す方法が使えます。


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

このsafeDivide関数は、0で割ってもクラッシュせずに、代わりに0を返してくれます。


val result = safeDivide(10, 0)
println(result)  // 0 が表示される

0

このように、catchの中で戻り値を指定することで、エラーがあっても安全に値を返すことができます。

4. 戻り値がnullになるケースとその対策

4. 戻り値がnullになるケースとその対策
4. 戻り値がnullになるケースとその対策

例外処理では、戻り値にnullを使うこともあります。nullとは「何もない」という意味です。


fun divideOrNull(a: Int, b: Int): Int? {
    return try {
        a / b
    } catch (e: ArithmeticException) {
        null
    }
}

この場合、失敗したらnullが返るので、呼び出す側ではnullかどうかをチェックする必要があります。


val result = divideOrNull(10, 0)
if (result != null) {
    println("割り算の結果: $result")
} else {
    println("割り算に失敗しました")
}

割り算に失敗しました

このように、戻り値をnullにすることで、「エラーが起きたこと」を呼び出し側で判断できます。

5. 戻り値と例外の使い分けの考え方

5. 戻り値と例外の使い分けの考え方
5. 戻り値と例外の使い分けの考え方

ここまでの例から、次のような考え方ができます:

  • 明らかにおかしな使い方(例:0で割る) → 例外を使う
  • 失敗する可能性があるけど、そこまで重大ではないnullや特別な値を返す

Kotlinでは、「関数の戻り値でエラーを知らせる方法」と、「例外でエラーを知らせる方法」の2つをうまく使い分けるのがポイントです。

6. まとめ:Kotlinの例外処理と戻り値の基本

6. まとめ:Kotlinの例外処理と戻り値の基本
6. まとめ:Kotlinの例外処理と戻り値の基本

例外処理と戻り値の関係は、Kotlinのプログラミングにおいて非常に重要です。とくに初心者のうちは、「エラーが出たときに何が返るのか?」を意識するだけでも、バグを防ぎやすくなります。

try-catchでreturnを使えば、関数全体の戻り値として処理できるというのはKotlinらしい特徴でもあります。

実務でもよく使う考え方なので、少しずつ使いながら慣れていきましょう。

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