Kotlinの例外メッセージを取得する方法をやさしく解説!初心者でもわかるmessageプロパティの使い方
生徒
「Kotlinでエラーが起きたときに、その原因を文字で見ることってできますか?」
先生
「はい、できますよ。Kotlinではエラーが発生したときにmessageプロパティを使うことで、原因となったメッセージを文字で取得できます。」
生徒
「そのmessageってどうやって使うんですか?」
先生
「それでは、Kotlinでの例外メッセージの取得方法を基本から見ていきましょう!」
1. Kotlinの例外とは?初心者向けにやさしく解説
Kotlin(コトリン)で「例外(れいがい)」とは、プログラムを動かしているときに思わぬエラーが発生したことを知らせる仕組みです。
たとえば、ゼロで割り算をしようとしたときや、存在しないファイルを開こうとしたときに「例外」が発生します。
このとき、プログラムはエラー内容をException(エクセプション)という特別なオブジェクトで管理します。
2. messageプロパティとは?どんな時に使うの?
messageプロパティは、Kotlinの例外(Exception)クラスが持っている情報のひとつで、エラーが発生した理由を文字として表すために使います。
たとえば、「数値がマイナスになってはいけません」といった説明がmessageに入っていると、エラーの原因がすぐにわかります。
初心者にとっても、エラー内容を把握するためにとても役立つ機能です。
3. Kotlinでmessageを使ってエラーメッセージを表示する基本
では、実際にmessageプロパティを使って、エラーの内容を取得するKotlinコードを見てみましょう。
fun main() {
try {
val number = 10 / 0
println("計算結果:$number")
} catch (e: ArithmeticException) {
println("エラー内容: ${e.message}")
}
}
実行結果:
エラー内容: / by zero
このように、ゼロで割り算をしようとしたときにArithmeticException(算術エラー)が発生し、その説明として/ by zeroというメッセージが表示されます。
4. カスタム例外でもmessageを使ってみよう
Kotlinでは、自分で例外を定義すること(カスタム例外)もできます。
その場合でも、Exceptionクラスを継承していれば、messageプロパティを使ってエラーの内容を取得できます。
class MyCustomException(message: String) : Exception(message)
fun checkInput(input: String) {
if (input.isBlank()) {
throw MyCustomException("入力が空です")
}
println("入力された文字列:$input")
}
fun main() {
try {
checkInput("")
} catch (e: MyCustomException) {
println("カスタムエラー: ${e.message}")
}
}
実行結果:
カスタムエラー: 入力が空です
このように、カスタム例外を作ってもmessageでメッセージを取得できるため、処理の流れがわかりやすくなります。
5. 実行時エラーとメッセージの関係を理解しよう
エラーが起きたときに、ただ止まるだけではなく、「何が起きたか」「なぜ起きたか」を教えてくれるのがこのmessageプロパティです。
プログラムを作っていくと、たとえ小さなアプリでも、入力ミスや計算ミスなどでエラーが起こることがあります。
そのとき、画面に表示されるエラーメッセージを見て対処することで、ミスにすばやく気づけます。
このように、messageをうまく使えば、プログラムの信頼性も向上します。
6. エラー処理におけるメッセージの活用法
実際のアプリ開発やゲーム制作、簡単なツールなどでも、messageを活用することでエラーの原因をログとして残したり、画面にわかりやすく表示したりできます。
特に初心者が練習する際には、「なんでこのコードで失敗するの?」と悩むことが多いですが、messageを使えばヒントが得られます。
以下のように、ユーザー向けにやさしい説明も追加できます:
try {
val data = listOf(1, 2, 3)
println(data[5])
} catch (e: IndexOutOfBoundsException) {
println("配列の範囲外アクセスです: ${e.message}")
}
実行結果:
配列の範囲外アクセスです: Index 5 out of bounds for length 3
このように、メッセージと一緒に日本語で補足をつけると、ユーザーにもやさしい表示になります。
7. catchの中でログとして出力したり、画面に表示したりしよう
例外のmessageは、以下のような用途でも使えます:
- ログファイルに記録する
- エラー画面に表示する
- ダイアログやトースト(ポップアップ)で見せる
- メールやチャット通知で開発者に知らせる
これらをうまく組み合わせると、初心者でもバグの発見や対処がしやすくなるため、学習がスムーズになります。