Which kind of error occurs when a program does not perform the intended task

Errors in C/C++

Improve Article

Save Article

Like Article

  • Difficulty Level : Easy
  • Last Updated : 09 Jun, 2022

  • Read
  • Discuss(9)
  • Courses
  • Practice
  • Video
  • Improve Article

    Save Article

    Error is an illegal operation performed by the user which results in abnormal working of the program. 
    Programming errors often remain undetected until the program is compiled or executed. Some of the errors inhibit the program from getting compiled or executed. Thus errors should be removed before compiling and executing. 
    The most common errors can be broadly classified as follows.
     

    Type of errors:

     

    1. Syntax errors: Errors that occur when you violate the rules of writing C/C++ syntax are known as syntax errors. This compiler error indicates something that must be fixed before the code can be compiled. All these errors are detected by compiler and thus are known as compile-time errors. 
      Most frequent syntax errors are: 
      • Missing Parenthesis (})
      • Printing the value of variable without declaring it
      • Missing semicolon like this:

    C++




    // C++ program to illustrate

    // syntax error

     

    #include <iostream>

    using namespace

    error: expected expression before '.' token
         while(.) 
    0

     

    error: expected expression before '.' token
         while(.) 
    1
    error: expected expression before '.' token
         while(.) 
    2

    error: expected expression before '.' token
         while(.) 
    3

    error: expected expression before '.' token
         while(.) 
    4
    error: expected expression before '.' token
         while(.) 
    5
    error: expected expression before '.' token
         while(.) 
    6

    error: expected expression before '.' token
         while(.) 
    4
    error: expected expression before '.' token
         while(.) 
    5
    error: expected expression before '.' token
         while(.) 
    9

    error: expected expression before '.' token
         while(.) 

    error: expected expression before '.' token
         while(.) 
    4
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    2
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    3
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    4
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    5

    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    6

     

    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    7

    C




    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    8

    // syntax error

    (.text+0x20): undefined reference to `main'
    0

    error: expected expression before '.' token
         while(.) 
    1
    error: expected expression before '.' token
         while(.) 
    2

    error: expected expression before '.' token
         while(.) 
    3

    error: expected expression before '.' token
         while(.) 
    4
    error: expected expression before '.' token
         while(.) 
    5
    error: expected expression before '.' token
         while(.) 
    6

    error: expected expression before '.' token
         while(.) 
    4
    error: expected expression before '.' token
         while(.) 
    5
    error: expected expression before '.' token
         while(.) 
    9

    error: expected expression before '.' token
         while(.) 

    error: expected expression before '.' token
         while(.) 
    4
     error: lvalue required as left operand of assignment
     a + b = c; //semantic error
    2
     error: lvalue required as left operand of assignment
     a + b = c; //semantic error
    3
     error: lvalue required as left operand of assignment
     a + b = c; //semantic error
    4
     error: lvalue required as left operand of assignment
     a + b = c; //semantic error
    5
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    5

    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    6

    Error: 

    error: expected ';' before '}' token
    • Syntax of a basic construct is written wrong. For example : while loop

    C++




    // C++ program to illustrate

    // syntax error

    #include <iostream>

    using namespace

    error: expected expression before '.' token
         while(.) 
    0

     

    error: expected expression before '.' token
         while(.) 
    5 // C++ program to illustrate5
    error: expected expression before '.' token
         while(.) 
    1// C++ program to illustrate7

    error: expected expression before '.' token
         while(.) 
    3

    error: expected expression before '.' token
         while(.) 
    4// syntax error0

    error: expected expression before '.' token
         while(.) 
    4// syntax error2// syntax error3

    error: expected expression before '.' token
         while(.) 
    4
    error: expected expression before '.' token
         while(.) 
    3

    // syntax error6

    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    2// syntax error8// syntax error9

    error: expected expression before '.' token
         while(.) 
    4
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    6

    error: expected expression before '.' token
         while(.) 
    4#include <iostream>3 #include <iostream>4

    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    6

     

    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    7

    C




    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    8

    // syntax error

    (.text+0x20): undefined reference to `main'
    0

    error: expected expression before '.' token
         while(.) 
    5 // C++ program to illustrate5
    error: expected expression before '.' token
         while(.) 
    1// C++ program to illustrate7

    error: expected expression before '.' token
         while(.) 
    3

    error: expected expression before '.' token
         while(.) 
    4// syntax error0

    error: expected expression before '.' token
         while(.) 
    4// syntax error2// syntax error3

    error: expected expression before '.' token
         while(.) 
    4
    error: expected expression before '.' token
         while(.) 
    3

    // syntax error6

     error: lvalue required as left operand of assignment
     a + b = c; //semantic error
    2
     error: lvalue required as left operand of assignment
     a + b = c; //semantic error
    3// syntax error8namespace6

    error: expected expression before '.' token
         while(.) 
    4
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    6

    error: expected expression before '.' token
         while(.) 
    4#include <iostream>3 #include <iostream>4

    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    6

    Error:

    error: expected expression before '.' token
         while(.) 
    • In the given example, the syntax of while loop is incorrect. This causes a syntax error.
    1. Run-time Errors : Errors which occur during program execution(run-time) after successful compilation are called run-time errors. One of the most common run-time error is division by zero also known as Division error. These types of error are hard to find as the compiler doesn’t point to the line at which the error occurs. 
      For more understanding run the example given below. 
       

    C++




    // C++ program to illustrate

    error: expected expression before '.' token
         while(.) 
    04

    #include <iostream>

    error: expected expression before '.' token
         while(.) 
    06

    using namespace

    error: expected expression before '.' token
         while(.) 
    0

     

    error: expected expression before '.' token
         while(.) 
    1
    error: expected expression before '.' token
         while(.) 
    2

    error: expected expression before '.' token
         while(.) 
    3

    error: expected expression before '.' token
         while(.) 
    4
    error: expected expression before '.' token
         while(.) 
    5
    error: expected expression before '.' token
         while(.) 
    15
    error: expected expression before '.' token
         while(.) 
    16
    error: expected expression before '.' token
         while(.) 
    17

    error: expected expression before '.' token
         while(.) 
    18 

    error: expected expression before '.' token
         while(.) 
    4
    error: expected expression before '.' token
         while(.) 
    20

    error: expected expression before '.' token
         while(.) 
    4
    error: expected expression before '.' token
         while(.) 
    22

    error: expected expression before '.' token
         while(.) 
    4
    error: expected expression before '.' token
         while(.) 
    24

    error: expected expression before '.' token
         while(.) 
    4
    error: expected expression before '.' token
         while(.) 
    16
    error: expected expression before '.' token
         while(.) 
    27

    error: expected expression before '.' token
         while(.) 

    error: expected expression before '.' token
         while(.) 
    29
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    2
    error: expected expression before '.' token
         while(.) 
    31
    error: expected expression before '.' token
         while(.) 
    32
    error: expected expression before '.' token
         while(.) 
    16// syntax error9

    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    6

     

    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    7

    C




    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    8

    error: expected expression before '.' token
         while(.) 
    04

    (.text+0x20): undefined reference to `main'
    0

    error: expected expression before '.' token
         while(.) 
    1
    error: expected expression before '.' token
         while(.) 
    2

    error: expected expression before '.' token
         while(.) 
    3

    error: expected expression before '.' token
         while(.) 
    4
    error: expected expression before '.' token
         while(.) 
    5
    error: expected expression before '.' token
         while(.) 
    15
    error: expected expression before '.' token
         while(.) 
    16
    error: expected expression before '.' token
         while(.) 
    17

    error: expected expression before '.' token
         while(.) 
    18 

    error: expected expression before '.' token
         while(.) 
    4
    error: expected expression before '.' token
         while(.) 
    20

    error: expected expression before '.' token
         while(.) 
    4
    error: expected expression before '.' token
         while(.) 
    22

    error: expected expression before '.' token
         while(.) 
    4
    error: expected expression before '.' token
         while(.) 
    24

    error: expected expression before '.' token
         while(.) 
    4
    error: expected expression before '.' token
         while(.) 
    16
    error: expected expression before '.' token
         while(.) 
    27

    error: expected expression before '.' token
         while(.) 

    error: expected expression before '.' token
         while(.) 
    4
     error: lvalue required as left operand of assignment
     a + b = c; //semantic error
    2
     error: lvalue required as left operand of assignment
     a + b = c; //semantic error
    3
    error: expected expression before '.' token
         while(.) 
    62
    error: expected expression before '.' token
         while(.) 
    63
    error: expected expression before '.' token
         while(.) 
    16namespace6

    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    6

    Error:

    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    1. In the given example, there is Division by zero error. This is an example of run-time error i.e errors occurring while running the program.
    2. Linker Errors: These error occurs when after compilation we link the different object files with main’s object using Ctrl+F9 key(RUN). These are errors generated when the executable of the program cannot be generated. This may be due to wrong function prototyping, incorrect header files. One of the most common linker error is writing Main() instead of main(). 
       

    C++




    // C++ program to illustrate

    error: expected expression before '.' token
         while(.) 
    68

    error: expected expression before '.' token
         while(.) 
    06

    using namespace

    error: expected expression before '.' token
         while(.) 
    0

     

    error: expected expression before '.' token
         while(.) 
    1
    error: expected expression before '.' token
         while(.) 
    74
    error: expected expression before '.' token
         while(.) 
    75

    error: expected expression before '.' token
         while(.) 
    3

    error: expected expression before '.' token
         while(.) 
    4
    error: expected expression before '.' token
         while(.) 
    5
    error: expected expression before '.' token
         while(.) 
    79

    error: expected expression before '.' token
         while(.) 
    4
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    2
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    3
    error: expected expression before '.' token
         while(.) 
    83

    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    6

     

    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    7

    C




    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    8

    error: expected expression before '.' token
         while(.) 
    68

    (.text+0x20): undefined reference to `main'
    0

     

    error: expected expression before '.' token
         while(.) 
    1
    error: expected expression before '.' token
         while(.) 
    74
    error: expected expression before '.' token
         while(.) 
    75

    error: expected expression before '.' token
         while(.) 
    3

    error: expected expression before '.' token
         while(.) 
    4
    error: expected expression before '.' token
         while(.) 
    5
    error: expected expression before '.' token
         while(.) 
    79

    error: expected expression before '.' token
         while(.) 
    4
     error: lvalue required as left operand of assignment
     a + b = c; //semantic error
    2
     error: lvalue required as left operand of assignment
     a + b = c; //semantic error
    3
     error: lvalue required as left operand of assignment
     a + b = c; //semantic error
    4
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    00

    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    6

    Error: 

    (.text+0x20): undefined reference to `main'
    1. Logical Errors : On compilation and execution of a program, desired output is not obtained when certain input values are given. These types of errors which provide incorrect output but appears to be error free are called logical errors. These are one of the most common errors done by beginners of programming. 
      These errors solely depend on the logical thinking of the programmer and are easy to detect if we follow the line of execution and determine why the program takes that path of execution. 
       

    C++




    // C++ program to illustrate

    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    03

    error: expected expression before '.' token
         while(.) 
    5
    error: expected expression before '.' token
         while(.) 
    2

    error: expected expression before '.' token
         while(.) 
    3

    error: expected expression before '.' token
         while(.) 
    4
    error: expected expression before '.' token
         while(.) 
    5
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    09

     

    error: expected expression before '.' token
         while(.) 
    4
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    11

    error: expected expression before '.' token
         while(.) 
    4
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    13
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    14

    error: expected expression before '.' token
         while(.) 
    4
    error: expected expression before '.' token
         while(.) 
    3

    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    17
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    2
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    19// syntax error9

    // syntax error6

    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    22// syntax error9

    error: expected expression before '.' token
         while(.) 
    4
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    6

    error: expected expression before '.' token
         while(.) 
    4#include <iostream>3 #include <iostream>4

    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    6

     

     

    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    30

    C




    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    8

    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    03

    error: expected expression before '.' token
         while(.) 
    5
    error: expected expression before '.' token
         while(.) 
    2

    error: expected expression before '.' token
         while(.) 
    3

    error: expected expression before '.' token
         while(.) 
    4
    error: expected expression before '.' token
         while(.) 
    5
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    09

     

    error: expected expression before '.' token
         while(.) 
    4
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    11

    error: expected expression before '.' token
         while(.) 
    4
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    13
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    14

    error: expected expression before '.' token
         while(.) 
    4
    error: expected expression before '.' token
         while(.) 
    3

    // syntax error6

     error: lvalue required as left operand of assignment
     a + b = c; //semantic error
    2
     error: lvalue required as left operand of assignment
     a + b = c; //semantic error
    3
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    19namespace6

    // syntax error6

    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    22// syntax error9

    error: expected expression before '.' token
         while(.) 
    4
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    6

    error: expected expression before '.' token
         while(.) 
    4
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    57
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    58

    error: expected expression before '.' token
         while(.) 
    4#include <iostream>3 #include <iostream>4

    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    6

    1. No output
    2. Semantic errors : This error occurs when the statements written in the program are not meaningful to the compiler.

    C++




    // C++ program to illustrate

    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    64

    error: expected expression before '.' token
         while(.) 
    5
    error: expected expression before '.' token
         while(.) 
    2

    error: expected expression before '.' token
         while(.) 
    3

    error: expected expression before '.' token
         while(.) 
    4
    error: expected expression before '.' token
         while(.) 
    5
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    70

    error: expected expression before '.' token
         while(.) 
    4
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    72
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    73

    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    6

     

    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    75

    C




    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    8

    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    64

    error: expected expression before '.' token
         while(.) 
    1
    error: expected expression before '.' token
         while(.) 
    2

    error: expected expression before '.' token
         while(.) 
    3

    error: expected expression before '.' token
         while(.) 
    18
    error: expected expression before '.' token
         while(.) 
    5
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    70

    error: expected expression before '.' token
         while(.) 
    18
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    72
    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    73

    warning: division by zero [-Wdiv-by-zero]
         div = n/0;
    6

    Error:

     error: lvalue required as left operand of assignment
     a + b = c; //semantic error

    This article is contributed by Krishna Bhatia. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to [email protected]. See your article appearing on the GeeksforGeeks main page and help other Geeks.
    Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above. 
     


    My Personal Notes arrow_drop_up

    Save

    Please Login to comment...

    What are the 3 types of error in programming?

    When developing programs there are three types of error that can occur:.
    syntax errors..
    logic errors..
    runtime errors..

    What are the type of errors occur in a program?

    Here are the 7 most commonly encountered programming errors: Runtime errors. Logic errors. Compilation errors. Syntax errors.

    What is the type of error called when the program runs but does not?

    When the program runs but does not give the expected output, the error is called logic error. The program does not terminate abnormally or crash.

    Which type of error occurs when improper program statements are used in a program?

    Semantic errors: errors due to an improper use of program statements.