En cualquier lenguaje de programación los errores son comunes. Si nos perdemos alguna sintaxis como paréntesis o punto y coma, obtendremos errores de sintaxis. Aparte de esto, también obtenemos errores de tiempo de ejecución durante la ejecución del código. De manera similar, los errores se clasifican de la siguiente manera:
- Errores de sintaxis
- Errores de tiempo de ejecución
- Errores lógicos
- Errores vinculados
- Errores semánticos
1. Errores de sintaxis
Estos también se conocen como errores de tiempo de compilación. Estos errores se han producido cuando se ha roto la regla de las técnicas de escritura o la sintaxis de C++. Estos tipos de errores normalmente los marca el compilador antes de la compilación.
Ejemplo: en el siguiente programa, recibimos un error debido a que falta un punto y coma al final de la declaración de salida (cout) llamado error de sintaxis.
C++
// C++ program to demonstrate // a syntax error #include <iostream> using namespace std; int main() { cout << "Geeks for geeks!" // missing semicolon return 0; }
Producción:
2. Errores de tiempo de ejecución
Este tipo de error ocurre mientras se ejecuta el programa. Debido a que esto no es un error de compilación, la compilación se completará con éxito.
Estos errores ocurren debido a una falla de segmentación cuando un número se divide por el operador de división o el operador de división de módulo.
Ejemplo: Consideremos una array de longitud 5, es decir, array[5], pero durante el tiempo de ejecución, si intentamos acceder a 10 elementos, es decir, array[10], obtenemos errores de falla de segmentación llamados errores de tiempo de ejecución. Dando solo una longitud de array de 5
C++
// C++ program to demonstrate // a runtime error #include <iostream> using namespace std; int main() { int array[5]; return 0; }
Pero en la salida tratando de acceder a más de 5, es decir, si intentamos acceder a la array [10] durante el tiempo de ejecución, obtenemos un error.
Producción:
Segmentation fault
3. Errores lógicos
Incluso si la sintaxis y otros factores son correctos, es posible que no obtengamos los resultados deseados debido a problemas lógicos. Estos se conocen como errores lógicos. A veces ponemos un punto y coma después de un bucle, lo que es sintácticamente correcto pero da como resultado un bucle en blanco. En ese caso, mostrará la salida deseada.
Ejemplo: en el siguiente ejemplo, el ciclo for itera 5 veces, pero la salida se mostrará solo una vez debido al punto y coma al final del ciclo for. Este tipo de errores se denominan errores lógicos.
C++
// C++ program to demonstrate // a logical error #include <iostream> using namespace std; int main() { int j; // Cause of Logical error for(j=0;j<=5;j++); { cout << "Geeks for geeks"; } return 0; }
Geeks for geeks
4. Errores del enlazador
Cuando el programa se compila con éxito e intenta vincular los diferentes archivos de objeto con el archivo de objeto principal, se producirán errores. Cuando ocurre este error, el ejecutable no se genera. Esto podría deberse a un prototipo de función incorrecto, un archivo de encabezado incorrecto u otros factores. Si main() se escribe como Main(), se generará un error vinculado.
Ejemplo:
C++
// C++ program to demonstrate // a linker error #include <iostream> using namespace std; int Main() { cout << "Geeks for geeks"; return 0; }
Producción:
5. Errores semánticos
Cuando una oración es sintácticamente correcta pero no tiene significado, se producen errores semánticos. Esto es similar a los errores gramaticales. Si se ingresa una expresión en el lado izquierdo del operador de asignación, puede ocurrir un error semántico.
Ejemplo:
C++
// 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; }
Producción:
Publicación traducida automáticamente
Artículo escrito por laxmigangarajula03 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA