Behandeln Sie Ausnahmen in Kotlin

Kailash Vaviya 15 Februar 2024
  1. Konzept der Ausnahme in Kotlin
  2. Behandeln Sie ungeprüfte Ausnahmen in Kotlin
  3. Erstellen Sie eine benutzerdefinierte Ausnahme in Kotlin
  4. Behandeln Sie Ausnahmen mit der Annotation @Throws in Kotlin
Behandeln Sie Ausnahmen in Kotlin

Die Ausnahmebehandlung ist ein grundlegendes Konzept der meisten Programmiersprachen. Es hilft bei der Behandlung von Ausnahmen, sodass der Code problemlos ausgeführt werden kann.

Sogar Kotlin erlaubt die Ausnahmebehandlung mit der Annotation @Throws. In diesem Artikel wird untersucht, wie wir die Annotation @Throws verwenden können, um Ausnahmen in Kotlin zu behandeln.

Aber bevor wir darauf eingehen, schauen wir uns das grundlegende Konzept der Ausnahmen in Kotlin an.

Konzept der Ausnahme in Kotlin

Kotlin-Ausnahmen ähneln Java-Ausnahmen. Sie alle sind Nachkommen der Throwable-Klasse in Kotlin; Es gibt jedoch auch einige Unterschiede.

Im Gegensatz zu Java hat Kotlin keine geprüften Ausnahmen. Daher gibt es in Kotlin nur ungeprüfte oder Laufzeitausnahmen.

Außerdem ermöglicht Kotlin das Erstellen benutzerdefinierter Ausnahmen. Daher können wir unseren eigenen Ausnahmebehandlungscode erstellen, um Laufzeitfehler zu verhindern.

Behandeln Sie ungeprüfte Ausnahmen in Kotlin

Wie bereits erwähnt, sind ungeprüfte Ausnahmen diejenigen, die während der Laufzeit auftreten. Alle ungeprüften Java-Ausnahmen, einschließlich ArithmeticException, NullPointerException, NumberFormatException usw., sind Beispiele für ungeprüfte Ausnahmen in Kotlin.

Wir können eine ungeprüfte Ausnahme in Kotlin mit dem Block try-catch und dem Schlüsselwort finally behandeln.

Hier ist ein Beispielcode, um ungeprüfte Ausnahmen zu demonstrieren.

fun main(args: Array<String>) {

    try {
        val i:Int = 12;
        val v:String = "Hello!";
        v.toInt();
   }
   catch(e:Exception) {
        e.printStackTrace();
   }

   finally {
        println("This is an example of unchecked exception handling using the try-catch block.");
   }

}

Ausgabe:

Ungeprüftes Ausnahmebeispiel in Kotlin

Klicken Sie hier, um die Demo des Beispielcodes zu überprüfen.

Erstellen Sie eine benutzerdefinierte Ausnahme in Kotlin

Wir können auch benutzerdefinierte Ausnahmen in Kotlin mit dem Schlüsselwort throw erstellen. Lassen Sie uns einen Code erstellen, in dem wir eine Integer-Variable deklarieren.

Wir werden dann prüfen, ob die Zahl gleich oder größer als 18 ist. Wenn dies der Fall ist, drucken wir eine Nachricht mit der Aufschrift "You are eligible to vote."; Andernfalls geben wir eine benutzerdefinierte Fehlermeldung aus.

fun main(args: Array<String>) {
    val v:Int;
    v = 16;
    if(v >= 18)
    {
        println("Welcome!! You are eligible to vote.")
    }

    else
    {
        //throwing custom exception using the throw keyword
        throw customExceptionExample("Sorry! You have to wait to cast a vote.")
    }
}

//custom exception class
class customExceptionExample(message: String) : Exception(message)

Ausgabe:

Benutzerdefiniertes Ausnahmebeispiel in Kotlin

Klicken Sie hier, um die Demo des Beispielcodes zu überprüfen.

Behandeln Sie Ausnahmen mit der Annotation @Throws in Kotlin

Obwohl es keine überprüften Ausnahmen gibt, können wir sie dennoch in Kotlin behandeln. Wir können dies tun, indem wir die Kotlin-Ausnahmeanmerkung @Throws verwenden.

Die Annotation @Throws ist hilfreich für die Java-Interoperabilität. Wenn es also überprüfte Ausnahmecodes gibt, die wir in Java konvertieren müssen, können wir die Annotation @Throws für die JVM-Maschine verwenden.

Hier ist ein Beispielcode, um dasselbe zu demonstrieren.

import java.io.*
import kotlin.jvm.Throws

fun main(args: Array<String>) {
    val va=0
    var res=0
    try {
        res=va/0 // Since nothing is divisible by 0, it will throw an exception
    } catch (excep: Exception) {

        // While this is an Airthmetic exception,
        // we will throw a NullPointerException using the function call
        excep().throwJavaChecked()
    }
}
class excep{
    @Throws(NullPointerException::class)
    fun throwJavaChecked() {
        throw NullPointerException()
    }
}

Ausgabe:

Verwendung der @Throws-Annotation für die Ausnahmebehandlung in Kotlin

Klicken Sie hier, um die Demo des Beispielcodes zu überprüfen.

Kailash Vaviya avatar Kailash Vaviya avatar

Kailash Vaviya is a freelance writer who started writing in 2019 and has never stopped since then as he fell in love with it. He has a soft corner for technology and likes to read, learn, and write about it. His content is focused on providing information to help build a brand presence and gain engagement.

LinkedIn