wake-up-neo.com

Kotlin prüfte die Ausnahmen alternativ

Da Kotlin keine geprüften Ausnahmen unterstützt, können Sie einen Programmierer darauf aufmerksam machen, dass eine Methode eine Ausnahme auslösen kann

Einfaches Beispiel:

class Calculator (value: Int = 0) {

    fun divide (dividend: BigDecimal, divider: BigDecimal) : BigDecimal {
        return dividend / divider
    }
}

Natürlich kann die divide-Methode eine Java.lang.ArithmeticException: Division by zero-Ausnahme auslösen, und der Ersteller der Bibliothek muss den Benutzer der Klasse warnen, den Aufruf in eine try-catch-Klausel zu setzen

Was ist der Mechanismus für dieses Bewusstsein in Kotlin?

12
Jocky Doe

Angesichts der Tatsache, dass die Sprache kein Konstrukt hat, um dies explizit zu machen, bleibt nur noch: implizit.

Zum Beispiel durch das Setzen von Javadoc, das den Benutzer der Methode eindeutig darüber informiert, warum/warum Ausnahmen auf ihn geworfen werden. Oder Sie verwenden die Annotation @Throws .

Vielleicht wird das Kotlin-Team vielleicht irgendwann Compiler-Warnungen hinzufügen, um dies auszugleichen (siehe hier ).

4
GhostCat

Sie können Try zurückgeben, damit der Client isSuccess oder isFailure aufrufen kann. Http://www.Java-allandsundry.com/2017/12/kotlin-try-type-for-functional.html

Sie können auch den nullfähigen Typ BigDecimal? Zurückgeben. Damit der Client weiß, dass der Wert möglicherweise nicht vorhanden ist (wenn durch Null geteilt, können Sie null zurückgeben).

1
CodesInTheDark