Compile-Time Errors: Errors that occur when you violate the rules of writing syntax are known as Compile-Time errors. This compiler error indicates something that must be fixed before the code can be compiled. All these errors are detected by the compiler and thus are known as compile-time errors.
Most frequent Compile-Time errors are:
- Missing Parenthesis (})
- Printing the value of variable without declaring it
- Missing semicolon (terminator)
Below is an example to demonstrate Compile-Time Error:
C++
#include <iostream>
using namespace std;
int main()
{
int x = 10;
int y = 15;
cout << " " << (x, y)
}
|
C
#include<stdio.h>
void main()
{
int x = 10;
int y = 15;
printf ( "%d" , (x, y));
}
|
Java
import java.io.*;
class GFG {
public static void main (String[] args) {
int x = 10 ;
int y = 15 ;
System.out.println(x+y)
}
}
|
Error:
error: expected ';' before '}' token
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++
#include <iostream>
using namespace std;
int main()
{
int n = 9, div = 0;
div = n/0;
cout << "result = " << div ;
}
|
C
#include<stdio.h>
void main()
{
int n = 9, div = 0;
div = n/0;
printf ( "result = %d" , div );
}
|
Java
import java.io.*;
class GFG {
public static void main (String[] args) {
int n = 9 , div = 0 ;
div = n/ 0 ;
System.out.print( " result = " + div);
}
}
|
Error:
warning: division by zero [-Wdiv-by-zero]
div = n/0;
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.
The Differences between Compile-Time and Run-Time Error are:
|
These are the syntax errors which are detected by the compiler. | These are the errors which are not detected by the compiler and produce wrong results. |
They prevent the code from running as it detects some syntax errors. | They prevent the code from complete execution. |
It includes syntax errors such as missing of semicolon(;), misspelling of keywords and identifiers etc. | It includes errors such as dividing a number by zero, finding square root of a negative number etc. |