// 自定义的一个接口
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.
这样,就不会再报异常了!
网友评论