程序错误

如果程序在测试运行时遇到问题,我们必须调试,也就是说必须定位并排除错误,难度取决于错误的类型和程序员的调试技巧。

程序可能出现的两类基本错误类型是语法错误和逻辑错误。

语法错误

语法错误是指出现了与程序设计语言合法语句相违背的错误,例如单词拼写错误、漏标点符号等。

语法错误通常会被语言软件检测到,或者是输入非法语句的时候,或者是计算机把程序翻译成机器语言的时候。当软件检测到语法错误时,通常会发出一条警告信息,同时将出错语句以高亮显示。

语法错误通常很容易找到并更正。但有时候,软件发现一个地方有错误,实际上是由代码中其他地方的错误引起的,这时就需要运用程序设计技巧来分析错误信息,找到错误的根源并修复。

逻辑错误

逻辑错误是由于在完成任务时用了不正确的语句组合而引起的,可能由于错误的分析、错误的设计,或者没有正确地编码引起的。

以下是几类逻辑错误:

  • 计算期望结果所使用的公式不对。
  • 实现语法的语句序列不对。
  • 没有预测在程序运行时某些输入数据会引起非法操作(例如除以0),这类错误有时称为运行时错误。

逻辑错误常常导致程序在某处运行不下去(崩溃、挂起、停滞),或者得出错误的结果。

逻辑错误不能像语法错误那样被程序语言软件检测到,通常需要用足够多的测试数据来运行程序才能发现。

尽管测试不能保证没有逻辑错误,但大量的测试是尽可能保证程序在逻辑上无误的最好方法。

【程序设计】程序错误类型相关推荐

  1. java程序错误类型及异常处理

    本文转载至:http://www.cnblogs.com/liaoliao/ 一.程序的错误类型 在程序设计中,无论规模是大是小,错误总是难免的.程序的设计很少有能够一次完成,没有错误的(不是指Hel ...

  2. 程序错误类型及其处理

    程序在设计调试甚至运行都难免出现错误,我们要做的是检测错误. 程序库错误 指的是程序库实现错误,当然,程序库的提供者在程序库发布之前,肯定想尽可能多地检测和纠正错误,但是任何比较大的程序库在发布的时候 ...

  3. 编程语言静态/动态类型,强/弱定义分类以及七种程序错误类型

    Dikstra说过:如果debugging是移除bug的过程,那打代码一定是把bug们放进去的过程. 编程语言如果按照类型检查分类可以分为两种static typing静态类型 和 dynamic t ...

  4. 【程序设计】程序错误与异常处理

    文章目录 程序错误 语法错误 逻辑错误 异常处理 UncheckedException CheckedException java.lang.Throwable Java异常处理基本结构 程序错误 如 ...

  5. js判断错误类型的分析

    进一步理解js中的错误(error)和错误处理 对于错误的处理应该是程序员必备的技能 推荐: mdn文档:https://developer.mozilla.org/zh-CN/docs/Web/Ja ...

  6. 错误类型3错误:活动类{}不存在

    本文翻译自:Error type 3 Error: Activity class {} does not exist I have an IntelliJ Android project, that ...

  7. 错误类型:“系统找不到 Microsoft.Office.Interop.Word(转)

    错误类型:"系统找不到 Microsoft.Office.Interop.Word" 编译出现错误: "Could not load file or assembly ' ...

  8. C# 尝试读取或写入受保护的内存,这通常指示其他内存已损坏。错误类型为:System.AccessViolationException。...

    C# 尝试读取或写入受保护的内存,这通常指示其他内存已损坏.解决方案 报错 dll文件应该是C++写的.封装了之后供我的C#程序调用,结果就提示了错误:尝试读取或写入受保护的内存.这通常指示其他内存已 ...

  9. iis启动默认页无法访问错误类型500的解决

    以前用过本机IIS没有问题,最近使用出现无法访问错误类型500的问题.基本上,这个情况可能发生在在第一次执行 .Net framework 2.0 ,原因不明,但底下的做法大致可以解決此问题: 1.首 ...

最新文章

  1. SAP QM创建一个包含Multiple Specification的检验计划
  2. 清华大学计算机系教授:马少平——计算机是如何实现智能的(附直播回放)...
  3. 如何在MySQL中进行FULL OUTER JOIN?
  4. 安信证券王环:安信证券数据中台建设历程
  5. bzoj3130 [SDOI2013]费用流 结论+二分答案+网络流检验
  6. Async注解使用及源码分析
  7. linux windows双系统安装教程
  8. 工业软件的特点和设计方法
  9. 传奇架设教程GOM引擎微端设置方法
  10. 永磁同步电机矢量控制(二)—— 控制原理与坐标变换推导
  11. luogu 2735 电网 皮克公式
  12. 央行降准:对股市、楼市、债市、商品、人民币汇率的影响
  13. 20110814炒股日记--关于内外盘【600192长城电工】
  14. mysql 联合索引 abc_ABC联合索引生效问题(整理笔记!!!)
  15. 算法题:岛屿最大面积
  16. Object C基础
  17. Debian安装docker全流程
  18. Linux Shell脚本检查一个目录是否存在,不存在则创建的方法
  19. IJK 使用中遇到的问题
  20. 类人猿x64位封包协议拦截技术开发3种工具(支持安卓)

热门文章

  1. CSS中定位(带你实操代码掌握固定定位、绝对定位与相对定位(子绝父相))
  2. 如何利用python将mp4文件转换为gif文件 + 代码分享 另附在线转换网址
  3. python之路_自定义属性、json及其他js补充
  4. Oracle推出支援.NET 3.5与Visual Studio 2008的开发工具
  5. 现共收到 5 个分组,其目的地址分别为: (1) 128.96.40.10 (2) 128.96.41.12 (3) 128.96.41.151 (4) 192.4.123.17 (5) 192.4.
  6. 图论算法(二)-最短路径的Dijkstra [ 单源 ] 和Floyd[ 多源 ] 解法(JAVA )
  7. inventor如何钣金出弧面_Inventor教程之钣金多规则
  8. android layout(l, t, r, b);,服务器里的a,t,l,r,b是什么意思? Android编程中关于layout(l,t,r,b)函数的问题...
  9. itextpdf添加表格元素_java使用iText生成pdf表格详解
  10. linux进程map,LInux环境运行mapReduce程序