Kotlin Exception Handling
An exception is an unwanted or unexpected event, which occurs during the execution of a program i.e at run time, that disrupts the normal flow of the program's instructions. Exception handling is a technique, using which we can handle errors and prevent run time crashes that can stop our program.
There are two types of exceptions
- Checked exceptions that are declared as part of method signature and are checked at the compile time, for example IOException
- Unchecked exceptions do not need to be added as part of method signature and they are checked at the runtime, for example NullPointerException.
Note: In Kotlin all exceptions are unchecked.
All Exceptions descend from the Throwable class. To throw an exception we use the throw keyword.
throw Exception("Oops. Something went wrong")
Note: In Kotlin there are no checked exceptions. That means there is no throws keyword.
Some of the common exceptions are:
- NullPointerException: It is thrown when we try to invoke a property or method on null object.
- ArithmeticException: It is thrown when invalid arithmetic operations are performed on numbers.
- SecurityException: It is thrown to indicate security violation.
- ArrayIndexOutOfBoundException: It is thrown when we try to access invalid index value of an array.