编译错误是在运行之前报出的 运行错误就是字面意思 在运行中发生的异常你可以把编译错误想象成 明明是要考试2+2 可你却写成了1+1 当老师在检查你算法对不对之前他就知道你错了 因为 明明是2+2 就像楼上说的 一般是语法之类的错误 运行错误 就是你没有语法之类的错误 可是在运行时 算法或者某些东西使用不当出现的错误比如空指针异常 溢出异常 等等 要用具体的来说明的话比如 一个数组长度只有3位 可是你却在使用过程中赋了4位以上的值 或者当你用了一个对象可是在却一直没有给对象引用类型等等 就好像 要考试2+2 你是写的2+2没错 但是 你却是写的等于5 老师就发现你的结果存在错误 而不是一开始就写错了
编译时错误是程序语法错误,而运行时错误一般是逻辑错误,比如数字溢出等 、/checked+ 对于溢出错误,会产生一个编译器错误
不加的时候溢出错误不提示。