【程序设计】程序错误类型
程序错误
如果程序在测试运行时遇到问题,我们必须调试,也就是说必须定位并排除错误,难度取决于错误的类型和程序员的调试技巧。
程序可能出现的两类基本错误类型是语法错误和逻辑错误。
语法错误
语法错误是指出现了与程序设计语言合法语句相违背的错误,例如单词拼写错误、漏标点符号等。
语法错误通常会被语言软件检测到,或者是输入非法语句的时候,或者是计算机把程序翻译成机器语言的时候。当软件检测到语法错误时,通常会发出一条警告信息,同时将出错语句以高亮显示。
语法错误通常很容易找到并更正。但有时候,软件发现一个地方有错误,实际上是由代码中其他地方的错误引起的,这时就需要运用程序设计技巧来分析错误信息,找到错误的根源并修复。
逻辑错误
逻辑错误是由于在完成任务时用了不正确的语句组合而引起的,可能由于错误的分析、错误的设计,或者没有正确地编码引起的。
以下是几类逻辑错误:
- 计算期望结果所使用的公式不对。
- 实现语法的语句序列不对。
- 没有预测在程序运行时某些输入数据会引起非法操作(例如除以0),这类错误有时称为运行时错误。
逻辑错误常常导致程序在某处运行不下去(崩溃、挂起、停滞),或者得出错误的结果。
逻辑错误不能像语法错误那样被程序语言软件检测到,通常需要用足够多的测试数据来运行程序才能发现。
尽管测试不能保证没有逻辑错误,但大量的测试是尽可能保证程序在逻辑上无误的最好方法。
【程序设计】程序错误类型相关推荐
- java程序错误类型及异常处理
本文转载至:http://www.cnblogs.com/liaoliao/ 一.程序的错误类型 在程序设计中,无论规模是大是小,错误总是难免的.程序的设计很少有能够一次完成,没有错误的(不是指Hel ...
- 程序错误类型及其处理
程序在设计调试甚至运行都难免出现错误,我们要做的是检测错误. 程序库错误 指的是程序库实现错误,当然,程序库的提供者在程序库发布之前,肯定想尽可能多地检测和纠正错误,但是任何比较大的程序库在发布的时候 ...
- 编程语言静态/动态类型,强/弱定义分类以及七种程序错误类型
Dikstra说过:如果debugging是移除bug的过程,那打代码一定是把bug们放进去的过程. 编程语言如果按照类型检查分类可以分为两种static typing静态类型 和 dynamic t ...
- 【程序设计】程序错误与异常处理
文章目录 程序错误 语法错误 逻辑错误 异常处理 UncheckedException CheckedException java.lang.Throwable Java异常处理基本结构 程序错误 如 ...
- js判断错误类型的分析
进一步理解js中的错误(error)和错误处理 对于错误的处理应该是程序员必备的技能 推荐: mdn文档:https://developer.mozilla.org/zh-CN/docs/Web/Ja ...
- 错误类型3错误:活动类{}不存在
本文翻译自:Error type 3 Error: Activity class {} does not exist I have an IntelliJ Android project, that ...
- 错误类型:“系统找不到 Microsoft.Office.Interop.Word(转)
错误类型:"系统找不到 Microsoft.Office.Interop.Word" 编译出现错误: "Could not load file or assembly ' ...
- C# 尝试读取或写入受保护的内存,这通常指示其他内存已损坏。错误类型为:System.AccessViolationException。...
C# 尝试读取或写入受保护的内存,这通常指示其他内存已损坏.解决方案 报错 dll文件应该是C++写的.封装了之后供我的C#程序调用,结果就提示了错误:尝试读取或写入受保护的内存.这通常指示其他内存已 ...
- iis启动默认页无法访问错误类型500的解决
以前用过本机IIS没有问题,最近使用出现无法访问错误类型500的问题.基本上,这个情况可能发生在在第一次执行 .Net framework 2.0 ,原因不明,但底下的做法大致可以解決此问题: 1.首 ...
最新文章
- SAP QM创建一个包含Multiple Specification的检验计划
- 清华大学计算机系教授:马少平——计算机是如何实现智能的(附直播回放)...
- 如何在MySQL中进行FULL OUTER JOIN?
- 安信证券王环:安信证券数据中台建设历程
- bzoj3130 [SDOI2013]费用流 结论+二分答案+网络流检验
- Async注解使用及源码分析
- linux windows双系统安装教程
- 工业软件的特点和设计方法
- 传奇架设教程GOM引擎微端设置方法
- 永磁同步电机矢量控制(二)—— 控制原理与坐标变换推导
- luogu 2735 电网 皮克公式
- 央行降准:对股市、楼市、债市、商品、人民币汇率的影响
- 20110814炒股日记--关于内外盘【600192长城电工】
- mysql 联合索引 abc_ABC联合索引生效问题(整理笔记!!!)
- 算法题:岛屿最大面积
- Object C基础
- Debian安装docker全流程
- Linux Shell脚本检查一个目录是否存在,不存在则创建的方法
- IJK 使用中遇到的问题
- 类人猿x64位封包协议拦截技术开发3种工具(支持安卓)
热门文章
- CSS中定位(带你实操代码掌握固定定位、绝对定位与相对定位(子绝父相))
- 如何利用python将mp4文件转换为gif文件 + 代码分享 另附在线转换网址
- python之路_自定义属性、json及其他js补充
- Oracle推出支援.NET 3.5与Visual Studio 2008的开发工具
- 现共收到 5 个分组,其目的地址分别为: (1) 128.96.40.10 (2) 128.96.41.12 (3) 128.96.41.151 (4) 192.4.123.17 (5) 192.4.
- 图论算法(二)-最短路径的Dijkstra [ 单源 ] 和Floyd[ 多源 ] 解法(JAVA )
- inventor如何钣金出弧面_Inventor教程之钣金多规则
- android layout(l, t, r, b);,服务器里的a,t,l,r,b是什么意思? Android编程中关于layout(l,t,r,b)函数的问题...
- itextpdf添加表格元素_java使用iText生成pdf表格详解
- linux进程map,LInux环境运行mapReduce程序