使用 @Throws 时强制 android studio 编译器使用 try-catch - Kotlin

Ali*_*Ali 5 android try-catch throws kotlin android-studio

在 中Java,Android Studio 有一个功能可以避免调用throws没有try/catch块的异常方法,并且它的自动完成建议:Add exception to method signatureSurround with try/catch

Kotlin我们没有throws关键字,应该使用@Throws()它。问题是,它Android Studio不再迫使我们包围try/catch。另一方面,它并不强迫我们使用 类似try/catchjava methods进步。throws ExceptionIO

测试.java

public class Test {

    public void doSomeWork1(int a) throws Exception {
        if (a == -1) {
            throw new Exception("some error");
        }
    }

    public void main() {
        doSomeWork1(-1);
    }
}
Run Code Online (Sandbox Code Playgroud)

测试.kt

class Test {

    @Throws(Exception::class)
    fun doSomeWork1(a: Int) {
        if (a == -1) {
            throw Exception("some error")
        }
    }

    fun main() {
        doSomeWork1(-1)
    }
}
Run Code Online (Sandbox Code Playgroud)

测试.java

Test.java类 android studio 不允许我们在不使用try catch.

测试.kt

Test.kt正在编译且没有错误的类。

android studio 自动完成建议

Test.javaandroid studio 自动完成建议

有没有办法强制android studio语言kotlin用于try/catch这些functions/methods或至少给我们一个warning