Kotlin Exception handling
Ted Hagos

Ted Hagos @tedhagos

About: Author of Apress books on Java, Android, Spring, and Kotlin. Technical lead at workingdev.net. Full portfolio and credentials at tedhagos.com.

Location:
Manila, Philippines
Joined:
Sep 14, 2018

Kotlin Exception handling

Publish Date: Sep 28 '18
8 0

Kotlin's approach to exception is similar to Java. Somewhat. It uses the try-catch-finally, just like in Java. So, your knowledge about how try-catch works commutes nicely to Kotlin. The code below should be very familiar. It shows a typical code on how to open a file

import java.io.FileNotFoundException
import java.io.FileReader
import java.io.IOException

fun main(args: Array<String>) {
  var fileReader: FileReader
    try {
    fileReader = FileReader("README.txt")
    var content = fileReader.read()
    println(content)
 }
  catch (ffe: FileNotFoundException) {
    println(ffe.message)
  }
  catch(ioe: IOException) {
    println(ioe.message)
 }
}
Enter fullscreen mode Exit fullscreen mode

So, what's different? Well, in Kotlin, everything is an unchecked exception. Which means, the try-catch block is optional. It's up to the programmer if you want to use it. So, the code above, can be written like this (in Kotlin).

import java.io.FileReader  

fun main(args: Array<String>) {
  var fileReader = FileReader("README.txt")  
  var content = fileReader.read()  
  println(content)
}
Enter fullscreen mode Exit fullscreen mode

So how do you know if you need to use try-catch. You might not like the answers now, but in the long run, these are good advice to follow ;

  1. You have to know the API's you're using. I know that this is not great news for beginners, but look at it this way, you won't be a beginner for long. And you really should know the API's you're using. TL;DR won't serve you well in this area
  2. You have to get into the habit of unit-testing your code. This is a good habit to develop anyway

Comments 0 total

    Add comment