为什么 try-catch 无法捕获 NoClassDefFoundError public void start(Context context) { try { this.mContext context; QQMusicSDK.INSTANCE.init(context, new QQMusicSDK.SDKConfig()); //播放状态变化 QQMusicSDK.INSTANCE.getService().subscribePlayStatus(playStatusListener); }catch (Exception e){ e.printStackTrace(); LogUtils.e(TAG, e.getMessage()); } }2026-08-24 16:41:26.116 10542-10542 AndroidRuntime pid-10542 E FATAL EXCEPTION: main Process: com.zhx.chaanapp, PID: 10542 java.lang.NoClassDefFoundError: Failed resolution of: Lcom/incall/apps/component/calog/CALog; at com.ca.hmi.qqmusic.opensdk.QQMusicSDK.init(QQMusicSDK.kt:46) at com.zhx.chaanapp.monitor.MusicMonitor.start(MusicMonitor.java:34) at com.zhx.chaanapp.services.CarSignalMonitorService.registerMonitor(CarSignalMonitorService.java:108) at com.zhx.chaanapp.services.CarSignalMonitorService.onCreate(CarSignalMonitorService.java:94) at android.app.ActivityThread.handleCreateService(ActivityThread.java:4692) at android.app.ActivityThread.-$$Nest$mhandleCreateService(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2305) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:205) at android.os.Looper.loop(Looper.java:294) at android.app.ActivityThread.main(ActivityThread.java:8226) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:573) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1049) Caused by: java.lang.ClassNotFoundException: Didnt find class com.incall.apps.component.calog.CALog on path: DexPathList[[zip file /system/app/ChaanApp/ChaAnApp_1.0.apk],nativeLibraryDirectories[/system/app/ChaanApp/lib/arm64, /system/app/ChaanApp/ChaAnApp_1.0.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64, /system/lib64, /system_ext/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at com.ca.hmi.qqmusic.opensdk.QQMusicSDK.init(QQMusicSDK.kt:46) at com.zhx.chaanapp.monitor.MusicMonitor.start(MusicMonitor.java:34) at com.zhx.chaanapp.services.CarSignalMonitorService.registerMonitor(CarSignalMonitorService.java:108) at com.zhx.chaanapp.services.CarSignalMonitorService.onCreate(CarSignalMonitorService.java:94) at android.app.ActivityThread.handleCreateService(ActivityThread.java:4692) at android.app.ActivityThread.-$$Nest$mhandleCreateService(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2305) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:205) at android.os.Looper.loop(Looper.java:294) at android.app.ActivityThread.main(ActivityThread.java:8226) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:573) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1049)try-catch无法捕获这个异常是因为NoClassDefFoundError是Error的子类而不是Exception的子类。在 Java 中try-catch默认只捕获Exception及其子类包括RuntimeException而Error通常代表严重的系统级问题如类缺失、内存溢出等一般不期望应用层去捕获。修改方法很简单将catch (Exception e)改为catch (Throwable e)因为Throwable是Exception和Error的共同父类这样就能捕获到NoClassDefFoundError了。javapublic void start(Context context) { try { this.mContext context; QQMusicSDK.INSTANCE.init(context, new QQMusicSDK.SDKConfig()); //播放状态变化 QQMusicSDK.INSTANCE.getService().subscribePlayStatus(playStatusListener); } catch (Throwable e) { // 改为 Throwable e.printStackTrace(); LogUtils.e(TAG, e.getMessage()); } }

相关新闻

最新新闻

英飞凌AURIX车规MCU:自动驾驶域控制器的功能安全基石

英飞凌AURIX车规MCU:自动驾驶域控制器的功能安全基石

1. 奥迪自动驾驶系统为何把“安全裁决权”交给英飞凌MCU 1.1 自动驾驶算力分工:GPU做眼睛,MCU做脊髓 如果你拆开一台搭载L2级辅助驾驶的量产车,会发现自动驾驶系统并不是“一块超强芯片搞定一切”,而是由多颗芯片分工协作。以奥迪…

2026/8/27 10:53:04
双向Buck-Boost控制器:48V与12V电压域的能量桥梁

双向Buck-Boost控制器:48V与12V电压域的能量桥梁

车辆电子架构这几年变化非常大,尤其是智能驾驶和线控底盘普及之后,电源系统从原来简单的"蓄电池发电机稳压器"变成了复杂的多电压域网络。这块里有一个很容易被忽略、但实际上非常关键的器件,就是双向Buck-Boost控制器。所谓双向&a…

2026/8/27 10:53:04
基于微信小程序的校园跑腿系统的设计与实现(源码+lw+部署文档+讲解等)

基于微信小程序的校园跑腿系统的设计与实现(源码+lw+部署文档+讲解等)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/27 10:53:04
多相PMIC设计指南:从原理到调试的电源实战解析

多相PMIC设计指南:从原理到调试的电源实战解析

做电源设计这些年,我最大的感受就是:CPU/GPU的功耗一路猛涨,供电方案却越来越难做。以前一颗12V转1.8V的单相Buck,配两个大MOSFET和一颗电感,撑个20A也就差不多了。现在随便一颗AI加速卡,核心电流轻松飙到几…

2026/8/27 10:53:04
校园课后延时选课轻量化方案,解决人工统计冗余问题

校园课后延时选课轻量化方案,解决人工统计冗余问题

每学期课后延时选课,都是校内教务最耗时的事务性工作。传统人工收集、表格统计的方式,不仅混乱易错,还会产生大量重复性工作。结合实际工作经验,分享一套简单好用的选课方案,适合学校选课场景落地。一、传统选课存在的…

2026/8/27 10:53:04
产品动态设计实战:从SURI牙刷看品牌视觉叙事与工作流

产品动态设计实战:从SURI牙刷看品牌视觉叙事与工作流

一个动态设计作品被放到评审会上,客户看完后提出的第一个问题往往不是“这个镜头语言是否准确”,而是“牙刷能不能转得再快一点”。真正做过产品动态设计的人都知道,这种反馈背后的问题从来不是转速,而是整支片子没有建立起一个让…

2026/8/27 10:48:04