An operation is not implemented: not implemented被坑之路[Kotlin]
吐槽一下,程序猿的辛酸史。
今天在开发新项目时,首次使用了Kotlin语言,对于之前只在纸上谈兵,未在项目中使用过的码农,很是一脸懵逼。但是迫于公司的要求,只能硬头皮冲吧。
在编写下面代码时:
holder?.addCallback(object :SurfaceHolder.Callback{override fun surfaceChanged(holder: SurfaceHolder?, format: Int, width: Int, height: Int) {TODO("not implemented") //To change body of created functions use File}override fun surfaceDestroyed(holder: SurfaceHolder?) {TODO("not implemented") //To change body of created functions use File }override fun surfaceCreated(holder: SurfaceHolder?) {TODO("not implemented") //To change body of created functions use File }})
项目直接闪退,在查看崩溃时,报以下错误:
Process: com.example.gaozhongkui.camerademo, PID: 28490kotlin.NotImplementedError: An operation is not implemented: not implementedat com.example.gaozhongkui.camerademo.MainActivity$onCreate$1.surfaceCreated(MainActivity.kt:44)at android.view.SurfaceView.updateSurface(SurfaceView.java:732)at android.view.SurfaceView$2.onPreDraw(SurfaceView.java:150)at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:977)at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2747)at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1650)at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7579)at android.view.Choreographer$CallbackRecord.run(Choreographer.java:920)at android.view.Choreographer.doCallbacks(Choreographer.java:732)at android.view.Choreographer.doFrame(Choreographer.java:664)at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:906)at android.os.Handler.handleCallback(Handler.java:790)at android.os.Handler.dispatchMessage(Handler.java:99)at android.os.Looper.loop(Looper.java:183)at android.app.ActivityThread.main(ActivityThread.java:7014)at java.lang.reflect.Method.invoke(Native Method)at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:514)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:888)
很是一脸懵逼,因为未写任何代码,就会导致崩溃,在经过Google才恍然大雾。我们在继承接口时,使用IDE自动帮助生成需要实现方式时,会自动添加:
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
重点就在TODO,有这个函数,它是要求你必须实现代码块。所以只需要删除TODO(“not implemented”) 这句话就可以了。
作为一枚程序猿有一种刨根问底的精神,在查看源码时,发现以下的猫腻:
@kotlin.internal.InlineOnly
public inline fun TODO(reason: String): Nothing = throw NotImplementedError("An operation is not implemented: $reason")
原来是TODO这个函数主动抛出的问题,现在终于知道原因了。
这是官网对kotlin TODO描述地址
An operation is not implemented: not implemented被坑之路[Kotlin]相关推荐
- JLink 警告:The connected J-Link is defective,Proper operation cannot be guaranteed.所遇到的坑
首先看到了这个老兄的帖子 https://blog.csdn.net/xiaogu0322/article/details/99873078 然后发现keil5.32直接闪退:再翻到这个老兄发的: h ...
- 无锁数据结构三:无锁数据结构的两大问题
实现无锁数据结构最困难的两个问题是ABA问题和内存回收问题.它们之间存在着一定的关联:一般内存回收问题的解决方案,可以作为解决ABA问题的一种只需很少开销或者根本不需额外开销的方法,但也存在一些情况并 ...
- pubchem的官方API - PUG REST的使用教程(持续更新)
以URL为基础的API分为4个部分 input specification--------------------------------------------------------输入 oper ...
- Mono Compatibility
The easiest way to describe what Mono currently supports is: Everything in .NET 4.5 except WPF, WWF, ...
- YEP_fpssynchoption
帧率调节插件 ============================================================================ Introduction === ...
- 【ceph】CEPH源码解析:读写流程
相同过程 Ceph的读/写操作采用Primary-Replica模型,客户端只向Object所对应OSD set的Primary OSD发起读/写请求,这保证了数据的强一致性.当Primary OSD ...
- atomic原子类实现机制_JUC学习笔记--Atomic原子类
Atomic 原子操作类包 Atomic包 主要是在多线程环境下,无锁的进行原子操作.核心操作是基于UnSafe类实现的CAS方法 CAS CAS: compareAndSwap :传入两个值:期望值 ...
- TP5部署服务器问题总结
及最近部署TP5遇到了很多坑,各种环境下都会出现一些问题,下面是我记录的排坑之路 先说最简单的lnmp一键安装包,我用的是1.5稳定版 安装命令:wget http://soft.vpser.net/ ...
- Win11 + Ubuntu18.04 双系统踩坑日记
Win11 + Ubuntu18.04 双系统踩坑日记 前言 准备工作 硬件配置 镜像下载 Win11镜像下载 Ubuntu镜像下载 启动盘准备 Win11启动盘 Ubuntu启动盘 Win11安装 ...
最新文章
- Appcan关闭主窗口
- 24点——判断4个数能否经过运算使得结果为24
- You have not accepted the license agreements of the following SDK components
- flask之jinji2模板介绍
- [精品]CSAPP Bomb Lab 解题报告(二)
- 相对路径和绝对路径概念
- Linq to Oracle 使用教程(三)数据的增、删、改
- Spring框架学习[IoC容器高级特性]
- 最全 MyBatis 核心配置文件总结,速度收藏了~
- 拓端tecdat|R语言复杂网络分析:聚类(社区检测)和可视化
- python基础教程菜鸟教程pdf-菜鸟教程 python pdf/Python菜鸟教程怎么样
- Android仿支付宝提现
- vs 2015 update 3各版本下载地址
- 中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。用java实现程序解决问题。
- 区块链学习8:超级账本项目Fabric中的背书、背书节点、背书策略、背书签名
- wifiadbtool下载_私享空间-中兴B860Av1.1免拆机仅安装APP教程 - 中国电信悦me盒子
- 用node.js批量处理json文件
- 在域控制器上(AD)搭建组织架构
- 基于微信教室图书馆座位预约小程序毕业设计毕设作品(2)小程序功能
- 高逼格UI-ASD(Android Support Design)
热门文章
- Java的内部类详解(成员内部类、静态内部类、局部内部类、匿名内部类)
- 2019上海米其林指南榜单出炉 | 附全部名单、地址、人均消费
- 百度新首页网友褒贬不一
- 《视窗控制中心 V6.0》(SIMATIC WinCC V6.0)6.0 SP3 + Hotfix2 Build: 6.1.1.2[ISO]
- 云盒子携手中交一公局,打造工程企业办公新模式
- arguments了解
- linux编译安装madam,madam、Linux LVM的使用
- 【tomcat】01-tomcat启动主要流程
- IFC格式BIM文件处理方案概述
- 016 A Principled Approach to Data Valuation for Federated Learning(评价 federated shapley value)