Diferencia entre errores de tiempo de compilación y errores de tiempo de ejecución

Errores de tiempo de compilación : los errores que ocurren cuando viola las reglas de escritura de la sintaxis se conocen como errores de tiempo de compilación. Este error del compilador indica algo que debe corregirse antes de que se pueda compilar el código. Todos estos errores son detectados por el compilador y, por lo tanto, se conocen como errores de tiempo de compilación. 
Los errores de tiempo de compilación más frecuentes son: 
 

  • Paréntesis faltante ( } )
  • Imprimiendo el valor de la variable sin declararla
  • Punto y coma faltante (terminador)

A continuación se muestra un ejemplo para demostrar el error de tiempo de compilación:
 

C++

// C++ program to illustrate
// syntax error
#include <iostream>
using namespace std;
 
int main()
{
    int x = 10;
    int y = 15;
     
// semicolon missed
    cout << " "<< (x, y);
}
 
// this code is contributed by shivanisinghss2110

C

// C program to illustrate
// syntax error
 
#include<stdio.h>
 
void main()
{
    int x = 10;
    int y = 15;
     
// semicolon missed
    printf("%d", (x, y));
}

Error: 
 

error: expected ';' before '}' token

Errores de tiempo de ejecución : los errores que ocurren durante la ejecución del programa (tiempo de ejecución) después de una compilación exitosa se denominan errores de tiempo de ejecución. Uno de los errores de tiempo de ejecución más comunes es la división por cero, también conocida como error de división. Estos tipos de errores son difíciles de encontrar ya que el compilador no apunta a la línea en la que se produce el error.
Para una mayor comprensión, ejecute el ejemplo que se proporciona a continuación.
 

C++

// C++ program to illustrate
// run-time error
 
#include <iostream>
using namespace std;
 
int main()
{
    int n = 9, div = 0;
   
    // wrong logic
    // number is divided by 0,
    // so this program abnormally terminates
    div = n/0;
     
    cout <<"result = " << div;
}
 
// This code is contributed by shivanisinghss2110

C

// C program to illustrate
// run-time error
 
#include<stdio.h>
 
void main()
{
    int n = 9, div = 0;
   
    // wrong logic
    // number is divided by 0,
    // so this program abnormally terminates
    div = n/0;
     
    printf("result = %d", div);
}

Error: 
 

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

En el ejemplo dado, hay división por error cero. Este es un ejemplo de error en tiempo de ejecución, es decir, errores que ocurren mientras se ejecuta el programa.
Las diferencias entre el tiempo de compilación y el error de tiempo de ejecución son:
 

Errores de tiempo de compilación Errores de tiempo de ejecución
Estos son los errores de sintaxis que detecta el compilador. Estos son los errores que no son detectados por el compilador y producen resultados erróneos.
Evitan que el código se ejecute ya que detecta algunos errores de sintaxis. Evitan que el código se ejecute por completo.
Incluye errores de sintaxis como falta de punto y coma (;), errores ortográficos de palabras clave e identificadores, etc. Incluye errores como dividir un número por cero, encontrar la raíz cuadrada de un número negativo, etc.

Publicación traducida automáticamente

Artículo escrito por Vaibhav_Arora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *