Kotlinの例外メッセージを取得する方法をやさしく解説!初心者でもわかるmessageプロパティの使い方
生徒
「Kotlinでエラーが起きたときに、その原因を文字で見ることってできますか?」
先生
「はい、できますよ。Kotlinではエラーが発生したときにmessageプロパティを使うことで、原因となったメッセージを文字で取得できます。」
生徒
「そのmessageってどうやって使うんですか?」
先生
「それでは、Kotlinでの例外メッセージの取得方法を基本から見ていきましょう!」
1. Kotlinの例外とは?初心者向けにやさしく解説
Kotlin(コトリン)における「例外(れいがい)」とは、プログラムの実行中に予期せぬトラブルが発生し、処理がスムーズに進められなくなった状態を知らせる仕組みのことです。
例えば、算数のテストで「10を0で割りなさい」と言われたら困ってしまいますよね?コンピュータも同じで、無理な命令を実行しようとすると「これ以上は進めません!」とSOSを出します。これが例外の正体です。
- ゼロ除算:数字を0で割ろうとした(数学的なエラー)
- 型違い:数字を入力すべき場所に「こんにちは」と文字を入れた
- 見つからない:指定したファイルやデータがどこにも存在しない
例外が発生すると、Kotlinはエラー情報を詰め込んだ「Exception(エクセプション)」という特別なオブジェクト(データの塊)を生成します。このオブジェクトの中には、「何が原因で」「どこで」エラーが起きたのかという詳細なヒントが隠されているのです。
fun main() {
// プログラミングでやってはいけない「0での割り算」を試してみます
val appleCount = 10
val peopleCount = 0
// ここで「ArithmeticException(算術例外)」というエラーが発生します
val result = appleCount / peopleCount
println("一人当たり:$result 個")
}
上記のコードを実行すると、プログラムは途中で止まってしまいます。しかし、この「例外」という仕組みを正しく理解してキャッチ(捕獲)できるようになれば、エラーが起きてもアプリを強制終了させずに、ユーザーに優しく通知することができるようになります。
2. messageプロパティとは?どんな時に使うの?
Kotlinでプログラミングをしていると、予期せぬトラブル(例外)が発生することがあります。その際、「何が原因でエラーになったのか」を教えてくれるメッセージカードのような役割を果たすのが、messageプロパティです。
具体的には、例外クラスが保持している文字列データのことで、開発者がデバッグ(不具合修正)をしたり、ユーザーにエラー内容を伝えたりするために活用されます。これを確認することで、暗号のようなエラーコードを読み解かなくても、日本語や英語の文章で状況を即座に把握できるのが大きなメリットです。
初心者向けの例え:
家電が動かないとき、ただ「エラー」と表示されるよりも、「コンセントが抜けています」と表示された方が助かりますよね。この「コンセントが〜」という説明文こそが、プログラミングにおけるmessageの正体です。
では、実際に簡単なサンプルプログラムで、どのようにmessageを取り出すのかを見てみましょう。ここでは、わざとエラーを発生させてその内容を表示させてみます。
fun main() {
try {
// わざとエラー(例外)を発生させる
val result = 10 / 0
} catch (e: Exception) {
// e.message を使ってエラーの理由を取り出す
val errorMessage = e.message
println("エラーが発生しました!理由は次の通りです:")
println(errorMessage)
}
}
このコードを実行すると、画面には「/ by zero(ゼロで割り算をしました)」といった内容が表示されます。これがmessageプロパティの力です。もしこれが無ければ、私たちは「なぜプログラムが止まったのか」を突き止めるのに、多大な時間を費やすことになってしまいます。
未経験の方でも、「エラーが起きたらまずは 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
このように、メッセージと一緒に日本語で補足をつけると、ユーザーにもやさしい表示になります。
Kotlinを基礎からしっかり学びたい人や、 Java経験を活かしてモダンな言語にステップアップしたい人には、 定番の入門書がこちらです。
基礎からわかるKotlinをAmazonで見る※ Amazon広告リンク
7. catchの中でログとして出力したり、画面に表示したりしよう
例外のmessageは、以下のような用途でも使えます:
- ログファイルに記録する
- エラー画面に表示する
- ダイアログやトースト(ポップアップ)で見せる
- メールやチャット通知で開発者に知らせる
これらをうまく組み合わせると、初心者でもバグの発見や対処がしやすくなるため、学習がスムーズになります。
【未経験OK】Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験する60分
「プログラミングを始めたい」を形にする。最新言語Kotlinで楽しむ、ものづくりの第一歩。
本講座は、プログラミング経験が全くない方のためのエントリー講座です。「コードを書くってどういうこと?」という基本から、世界中で使われている最新言語Kotlin(コトリン)を使って、実際にプログラムを動かすまでを体験します。難しい理屈よりも、まずは「自分の手で動かす楽しさ」を最短距離で実感していただきます。
具体的な体験内容と環境
【つくるもの】
簡単な言葉を入力すると自動で返答してくれる「対話型ミニプログラム」や、計算を自動化する「便利ツール」をゼロから作成します。黒い画面に自分の書いた文字が表示される瞬間は、最高の感動体験です。
【開発環境】
プロのエンジニアが実際に使っている開発ツールIntelliJ IDEA(インテリジェイ)をインストールします。ボタン一つで日本語化し、初心者でも迷わず操作できる「魔法の設定」を一緒に行います。
この60分で得られる3つの体験
プロと同じ道具を揃えることで、明日から一人でもプログラミングを続けられる環境が整います。
「変数」や「型」といった難しい言葉も、身近な例え話で解説。モヤモヤをゼロにします。
Kotlinは英語に近くて読みやすいのが特徴。自分でコードを読んで、間違いを見つけるコツも伝授します。
※本講座は、パソコン操作が不安な方でも安心して受講いただける完全マンツーマンです。あなたのペースに合わせて、一つずつ丁寧に進めていきます。
Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験