在用C#语言开发程序中,什么语法错误?什么事异常错误?二者一样吗?

在用C#语言开发程序中,什么语法错误?什么事异常错误?二者一样吗?,第1张

两者完全不一样:

1、语法错误语法错误指的是代码错误,是编译型错误,即,在开发时就能被识别出的错误。在C#里有编译性错误的代码是压根就没法编州渗译成功的,即,你无法生成可执行的程序

2、异常错误:异常错误是运行时错误,即,在程序运行过程中由于触发了某种情况而产生的错误,这个在编译时是发现不了的,要在运行时才能发现。比如:

A)String s = nulls.Split(',')此时会报NullReference异常,就是告诉岁迹敬你,空对象不能调用Split方法。乎慎但是,在编译时,你不知道s到底是不是null(毕竟很少有人真的把这两句连在一起写,说不定中途s已经不是null),所以编译时是不报错的,只有执行的时候才报错。

简单的说,

语法错误:就是你的c++代岁老码书写有问题,不是标准定义的;(比如乎散升 int写成了in,漏写个分号,漏写个括号,把int型参数赋值给字符串,等等),一般语法错误在编译时都是可以被编译器发现,发出警示的;

编译错误:是在编译时你本身的代码没问题,但是调用的一些文件、函数库,找不到,或者和你想要使掘颤用的版本不一致,导致函数参数不一样。

大多数情况下我们分类错误都是说 语法错误 和 逻辑错误;

逻辑错误:指你的语法正常,编译也能通过,但是按你的代码执行会出错。包括执行结果与预期不一致,或者程序执行就挂掉(一般是内存泄露等问题)

还是蛮有意思的,别人跟你说运行时错误就是语法错误,就又来问什么是语法错误了。不过他的说法是错的,语法错误是编译期错误,逻辑错误才是运行期错误。

语法错误当然就是不符合语法规则出现的问题,比如说你拿两个字符串进行乘法运算,当然就不对了,就是通常所说的病句。

这是它们的区别:

编译错误空野就是程序在编译阶段,此时程序还没有运行,编译斗察喊器根据语法规则进行检查会发现错误,并给出错误提示,一般是语法上的错误;运行错误就是程序在语法上没有错误,但是随着时间的推移,在程序的运行阶段发生了错误,比如数组越没粗界了,空指针等。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12353097.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存