Kotlin学习笔记:NotImplementedError:

2018-11-16  本文已影响0人  码途有道
 // 自定义的一个接口
 interface OnTestCallback{
       fun onTest()
 }
 // 用快捷方法生成接口内的方法
 setOnTestCallback(object :OnTestCallback{
     override fun onTest() {
        TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
     }
 })

上面的场景,小伙伴可能都不陌生,当我们用快捷方法去生成接口的方法时,会在方法内出现这么一句话:

TODO("not implemented") //To change body of created functions use File | Settings | File Templates.

然后很多小伙伴可能就会置之不理,任由其存在,然后当我们走到setOnTestCallback(object :OnTestCallback{...})这一步时,就会发现程序崩溃,抛出异常!(惊不惊喜:smile:)

以下是抛出的异常:

NotImplementedError: An operation is not implemented: not implemented

那么这是为啥呢?为啥呢?为啥呢?

我们一起看编译后的java代码

 this.setOnTestCallback((Test.OnTestCallback)(new Test.OnTestCallback() {
     public void onTest() {
         String var1 = "not implemented";
         throw (Throwable)(new NotImplementedError("An operation is not implemented: " + var1));
     }
 }));

看到这,大家都清楚了,koltin中的TODO会在编译时,在java中生成一个抛出异常!所以,小伙伴们一定要记得删除

TODO("not implemented") //To change body of created functions use File | Settings | File Templates.

这样,就不会再报异常了!

上一篇 下一篇

猜你喜欢

热点阅读