Kotlin學習筆記:NotImplementedError: An operation is not implemented

 // 自定義的一個接口
 interface OnTestCallback{
       fun onTest()
 }
 // 用快捷方法生成接口內(nèi)的方法
 setOnTestCallback(object :OnTestCallback{
     override fun onTest() {
        TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
     }
 })

上面的場景,小伙伴可能都不陌生,當我們用快捷方法去生成接口的方法時,會在方法內(nèi)出現(xiàn)這么一句話:

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

然后很多小伙伴可能就會置之不理,任由其存在,然后當我們走到setOnTestCallback(object :OnTestCallback{...})這一步時,就會發(fā)現(xiàn)程序崩潰,拋出異常?。@不驚喜: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.

這樣,就不會再報異常了!

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容