Kotlin学习笔记(4)--异常处理
异常处理
异常(Exception) 是在程序执行过程中发生的错误事件,它打断了程序的正常执行流程。在 Kotlin 中,异常主要有:
- 不可检查异常(Unchecked Exceptions):在运行时发生的异常,包括运行时异常(
RuntimeException)及其子类。Kotlin 不支持 Java 中的可检查异常(Checked Exceptions),这意味着在 Kotlin 中不需要在方法签名中声明可能抛出的异常,也不需要强制捕获异常。
Try 和 Catch
try 块用于包裹可能抛出异常的代码,catch 块用于捕捉和处理异常。
fun main() {
val number = readLine() ?: "0"
val parseNumber = try {
number.toInt()
} catch (e: NumberFormatException) {
println("输入的不是有效的整数,默认值 0")
0
}
println("解析后的数字是 $parseNumber")
}
Finally 块:
finally 块中的代码无论是否抛出异常都会执行,常用于资源释放。
fun main() {
try {
// 可能抛出异常的代码
} catch (e: Exception) {
// 处理异常
} finally {
// 资源释放等操作
}
}
抛出异常
在 Kotlin 中,可以使用 throw 关键字手动抛出异常。
fun validateAge(age: Int) {
if (age < 0) {
throw IllegalArgumentException("年龄不能为负数")
}
}
fun main() {
try {
validateAge(-5)
} catch (e: IllegalArgumentException) {
println(e.message) // 输出: 年龄不能为负数
}
}
自定义异常
可以定义自己的异常类,继承自 Exception 或其子类。
class InvalidInputException(message: String) : Exception(message)
fun validateInput(input: String) {
if (input.isEmpty()) {
throw InvalidInputException("输入不能为空")
}
}

浙公网安备 33010602011771号