Kotlin try catch

2024 年 8 月 29 日 | 阅读 2 分钟

Kotlin try-catch 块用于代码中的异常处理。 try 块包含可能抛出异常的代码,catch 块用于处理异常。 此块必须写在方法内部。 Kotlin try 块后面必须跟有 catch 块或 finally 块,或者两者都有。

带 catch 块的 try 的语法

带 finally 块的 try 的语法

带 finally 块的 try catch 的语法

没有异常处理的问题

让我们看一个导致未处理异常的例子。

上面的程序会生成一个异常,导致异常下面的其余代码无法执行。

输出

Exception in thread "main" java.lang.ArithmeticException: / by zero
	at ExceptionHandlingKt.main(ExceptionHandling.kt:2)

通过异常处理解决

让我们通过使用 try-catch 块来解决上述问题。

输出

java.lang.ArithmeticException: / by zero
code below exception...

在上面的程序中,在实现 try-catch 块之后,异常之后的其余代码将执行。

Kotlin try 块作为表达式

我们可以使用 try 块作为 expression,它会返回一个值。 try 表达式返回的值是 try 块的最后一个表达式或 catch 的最后一个表达式。 finally 块的内容不影响表达式的结果。

Kotlin try 作为表达式的示例

让我们看一个 try-catch 块作为表达式的示例,它返回一个值。 在此示例中,将 String 值转换为 Int,这不会生成任何异常,并返回 try 块的最后一个语句。

输出

10

让我们修改上面的代码,生成一个异常并返回 catch 块的最后一个语句。

输出

0