【经验】NoClassDefFoundError错误

NoClassDefFoundError VS ClassNotFoundException

这两者在开发过程中经常遇到。从他们的名字可以看出:NoClassDefFoundError是一个错误(Error),而 ClassNOtFoundException 是一个异常。
在Java中错误和异常是有区别的:我们可以从异常中恢复程序,但却不应该尝试从错误中恢复程序。

ClassNotFoundException异常

字面意思,class找不到。以下情况可能导致class找不到:

  • Class.forName
  • ClassLoader.loadClass
  • ClassLoader.findSystemClass
    所以ClassNotFoundException异常常出现在动态加载class时找不到对应class文件是会发生。此时可以catch来处理。

特殊情况:某个class已经加载到内存中了,另一个类加载器又尝试动态加载这个类,此时也会抛出异常

NoClassDefFoundError错误

找不到类的定义。编译时存在,运行时找不到,往往是创建类对应对象时出现错误,导致JVM抛出这个异常。常在类的构造方法或者static属性类/代码段出现错误时产生。
特殊情况:某些api接口在低版本上不兼容,如果不做处理也会抛出此类异常

现场

在这里插入图片描述

参考:

https://mp.weixin.qq.com/s/SDErs6EHR-PmeOF624euNw

相关推荐

  1. C语言经典错误总结(二)

    2024-07-13 11:40:03       53 阅读
  2. C语言经典错误总结(三)

    2024-07-13 11:40:03       54 阅读
  3. 小程序网络视频组件video经常出现的错误解决

    2024-07-13 11:40:03       72 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-13 11:40:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-13 11:40:03       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-13 11:40:03       58 阅读
  4. Python语言-面向对象

    2024-07-13 11:40:03       69 阅读

热门阅读

  1. 【2024暑期实习】接到新需求该如何做?

    2024-07-13 11:40:03       22 阅读
  2. MATLAB中Simulink.exportToTemplate用法

    2024-07-13 11:40:03       22 阅读
  3. C#面:中间件的使用场景有哪些?

    2024-07-13 11:40:03       21 阅读
  4. vue3 学习笔记08 -- computed 和 watch

    2024-07-13 11:40:03       24 阅读
  5. R语言学习笔记6-数据框

    2024-07-13 11:40:03       20 阅读
  6. 菜鸡的原地踏步史07(◐‿◑)

    2024-07-13 11:40:03       18 阅读
  7. C++ 基础练习 - 第一章(英文版)

    2024-07-13 11:40:03       19 阅读
  8. 深入解析BeautifulSoup:Python网页抓取的瑞士军刀

    2024-07-13 11:40:03       21 阅读