C++程序 展示错误类型

C++程序 展示错误类型

在任何一种编程语言中,错误都是常见的。如果我们漏掉了任何语法,例如括号或分号,那么就会出现语法错误。除此之外,在代码执行过程中我们还会出现运行时错误。类似地,以下是错误的分类:

  1. 语法错误
  2. 运行时错误
  3. 逻辑错误
  4. 链接错误
  5. 语义错误

1. 语法错误

这些也称为编译时错误。当 C++ 的写作技巧或语法规则被破坏时,这些错误就会发生。这些类型的错误通常在编译之前由编译器标记。

例如: 在下面的程序中,因为输出语句 (cout) 结尾处缺少分号而导致错误,该错误被称为语法错误。

// C++程序展示
// 语法错误
#include <iostream>
using namespace std;
  
int main() { 
  cout << "Geeks for geeks!" // 缺少分号
  return 0; 
}  

输出:

C++程序 展示错误类型

语法错误

2. 运行时错误

这种类型的错误发生在程序运行时。由于这不是编译错误,因此编译将成功完成。
当数字被除数或取模除数除时,这些错误会由于出现分段故障而发生。

例如: 让我们考虑一个长度为5的数组,即 array[5],但是在运行时,如果我们尝试访问10个元素,即数组array[10],那么就会出现分段故障错误,称为运行时错误。只给出长度为5的数组

// C++程序展示
// 运行时错误
#include <iostream>
using namespace std;
  
int main()
{
  
    int array[5];
    return 0;
}  

而对于输出部分,如果我们在运行时尝试访问超过5个,也就是尝试访问数组array[10],那么就会出现错误。

输出:

分段故障

3. 逻辑错误

即使语法和其他因素正确,由于逻辑问题,我们可能无法获得期望的结果。这被称为逻辑错误。有时我们在循环后放置分号,虽然在语法上是正确的,但会导致一个空循环。在这种情况下,它将显示所需的输出。

例如: 在下面的示例中,for循环迭代5次,但由于for循环结尾有一个分号,因此只显示一次输出。这种类型的错误称为逻辑错误。

// C++程序展示
// 逻辑错误
#include <iostream>
using namespace std;
  
int main() {
  int j;
  // 引起逻辑错误的原因
  for(j=0;j<=5;j++);
  {
    cout << "Geeks for geeks";
  }
    return 0;
}  

输出

Geeks for geeks

4. 链接错误

当程序成功编译并尝试将不同的目标文件链接到主目标文件时,将会出现错误。当出现此类错误时,可执行文件将不会生成。原因可能是不正确的函数原型、不正确的头文件或其他因素导致的。如果将main()写成Main(),则会生成连接错误。

示例:

// C++ program to demonstrate
// a linker error
#include <iostream>
using namespace std;
  
int Main() {
  
    cout << "Geeks for geeks";
    return 0;
}  

输出:

C++程序 展示错误类型

连接错误

5. 语义错误

**** 当一个句子在语法上是正确的,但却没有意义时,就会出现语义错误。这与语法错误类似。如果将表达式输入到赋值运算符的左侧,可能会导致语义错误。

示例:

// C++ program to demonstrate
// a semantic error
#include <iostream>
using namespace std;
  
int main()
{
    int a = 10, b = 20, c;
    a + b = c;
  
    cout << c;
    return 0;
}  

输出:

C++程序 展示错误类型

语义错误

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 示例