编译时异常和语法错误的区别

小编 409

编译时异常和语法错误的区别:1.基本概念不同;2.引发的原因不同。基本概念不同是两者本质区别,编译时异常是指在程序编译期间发生的异常,即使程序设计无误也可能引发;而语法错误指的是代码错误,属于编译型错误。

1.基本概念不同

编译时异常,是指在程序编译期间发生的异常,一般和程序的上下文条件有着密切关系,即使程序设计无误也会由于使用问题而引发;而语法错误指的是代码错误,是编译型错误,即在开发时就能被识别出的错误,一般集成开发软件均能提示和标注语法错误之处。

2.引发的原因不同

编译时异常是由于外在条件不满足而引发的,和程序设计无关。比如,程序视图打开一个并不存在的远程Socket端口。这种异常是可预知的,编译器强制要求对编译时异常进行捕获或声明。

语法错误主要是由于代码不符合语法规则引起的,和程序员编译错误有关。比如说你拿两个字符串进行乘法运算,当然就不对了,就是通常所说的病句。

延伸阅读

编译错误和运行时异常的区别

首先,编译错误一般是语法上存在问题,编译过不去;而运行时异常是指程序在运行过程中出现错误,只能说是程序存在一定的边界bug。其次,编译错误一般是指java语法的错误;而运行错误分两种:一种是error,另一种是Exception。有的异常是抛出,但可继续执行之后的代码,有的异常是无法继续进行的代码如:RuntimeException,ClassCastException。

那么,编译和运行时期较好的理解就是java1.5之后出现的泛型机制,在以前的版本中如果考虑不当,只会在运行时出现异常,现在加了泛型,问题会给暴露在编译时期,这样就提高了代码的安全性。

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部