首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
rizon
V2EX  ›  程序员

麻烦问一个 Java 的基本原理问题

  •  
  •   rizon · 103 天前 · 1079 次点击
    这是一个创建于 103 天前的主题,其中的信息可能已经有所发展或是发生改变。

    就是如果我的代码在第 10 行调用了 ModelX 的一个方法, 然后这个代码作为一个模块被另一个代码引用,但是另一个代码排除了 ModelX, 那么第 10 行的这个代码肯定是错误的,但是只要我不会执行到这一行代码,那么程序就可以正常运行,是这样的吧?

    代码运行的时候只有在实际被执行到的时候才会报错?

    另一个问题是,我们正常编译代码的时候由于会检查,如果有错误代码就会报错而无法正常编译。那么我怎么才能忽略错误正常编译运行?在 javac 和 idea 中怎么指定忽略错误?

    其实这也不算问题了,因为我也基本知道了,之所以还会多此一举的问一下,就是看看大家会说些什么,也许就会说到一些我不知道的东西哈。有点类似抛砖引玉吧 哈哈

    5 回复  |  直到 2019-10-14 13:48:52 +08:00
    zazalu
        1
    zazalu   103 天前
    排除了 ModelX=报错?
    ycs2019
        2
    ycs2019   103 天前
    jimrok
        3
    jimrok   103 天前   ♥ 2
    首先,在编译阶段,这样的代码是无法编译的,因为找不到 ModelX。第二,如果你编译后移除 ModelX 的.class 文件,那么在运行期会抛出 ClassNotFound 这种错误,因为 Classloader 载入不了这个类。
    airfling
        4
    airfling   103 天前
    你这段代码单独做个模块,然后 modalX 也是单独一个模块,依赖采用 provide,各自分别打包就可以了
    chendy
        5
    chendy   103 天前
    编译是不行的,IDE 有时候可以带错运行是因为增量编译,报错的东西没有重新编译出来
    运行的时候,因为一般除了核心类,其他的类都是用到了再加载,所以除非运行到那段代码报了 ClassNotFound,否则不会报错
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   778 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 23ms · UTC 23:06 · PVG 07:06 · LAX 15:06 · JFK 18:06
    ♥ Do have faith in what you're doing.