※下記URLのサイトを参考にしました。英語、または技術的な知識が至らず、内容に誤りが含まれるおそれがありますので、ご了承ください。
※本エントリは参考サイトの翻訳をベースに、加筆・変更を施した構成となっています。
参考サイト http://confluence.jetbrains.net/display/Kotlin/Exceptions
Kotlinの例外は、その他の言語とさほど違いはありません。Javaとの主な違いは、Kotlinではチェック例外がないことです。
例外クラス
Kotlinでは、すべての例外クラスはExceptionクラスの子孫です。すべての例外はメッセージとスタックトレース、そして任意の原因を持ちます。
例外オブジェクトを投げるには、throwを使用します。例外を捕捉するには、tryを使用します。0個以上のcatchブロックと、省略可能なfinallyを置くことができますが、少なくとも1つのcatchまたはfinallyが存在する必要があります。まぁここらへんはJavaと一緒ですね。
tryは式であることに注意してください。つまり値を持てるのです。
val a : Int? = try { parseInt(input) } catch (e : NumberFormatException) { null }http://confluence.jetbrains.net/display/Kotlin/Exceptions より引用
このfinallyのないtry式が「返す」値は、tryブロック内の最後の式か、catchブロック内の最後の式となります。