在kotlin中,他解决异常的方式与java类似,有两种共解决办法。

  1. throw
    可以选择用throw来抛出异常。但是不一样的是,在kotlin中,他的throw是一个表达式,也就是throw可以作为一个值让其他的表达式使用。
  2. try-cacth
  • 可以像java一样使用try-catch
  • 在kotlin中,try-catch也是表达式的形式。例如:
    1
    2
    3
    4
    5
    val number = try{
    Integer.parseInt(reader.readLine())
    }catch(e:NumberFormatException){
    null
    }
    他会返回最后代码块中的最后一个表达式。
    而kotlin与java异常不同之处
    在java中有两种异常,受检异常和未受检异常。java必须显示的处理受检异常,例如IOException,而kotlin中,不区分受检异常和非受检异常。你不需要用throws来强制的抛出异常。