Les erreurs de programmation sont des défauts dans le fonctionnement des applications. Ils sont communément appelés "bugs", d'où le terme "débogage".
En tant que développeur, vous passerez beaucoup de temps à corriger des bogues. Un certain nombre d'erreurs que vous rencontrerez sont courantes, et les connaître vous aidera à les prévenir en premier lieu.
Voici ce que vous devez savoir sur ces trois types d'erreurs de programmation et comment vous pouvez vous en prémunir:
1. Erreurs d'exécution ou d'exécution
Ce sont des erreurs qui se produisent lors de l'exécution d'un programme (c'est-à-dire lors de l'exécution). Ils peuvent empêcher un programme de s'exécuter correctement ou même de ne pas s'exécuter du tout.
Les erreurs d'exécution fatales entraînent l'arrêt de l'exécution du programme tandis que les erreurs non fatales entraînent la fin de l'exécution, mais avec des résultats incorrects.
Une erreur d'exécution typique est une division par zéro erreur. La division par zéro est censée donner un résultat infini, mais malheureusement, nous n'avons pas encore trouvé de structure de données capable de stocker cette quantité de données.
Par conséquent, la division par zéro conduit à une exception arithmétique dans le compilateur Java.
2. Erreurs de logique
Les erreurs logiques sont dues à un raisonnement erroné. Il est important de noter que ces erreurs ne sont pas nécessairement dues à une « erreur » que vous avez commise. Ils peuvent se produire parce que vous n'avez pas envisagé un certain scénario d'exécution.
Ce sont les plus difficiles à manipuler. C'est parce que le code avec une erreur logique est un programme valide dans le langage dans lequel il est écrit. Par conséquent, il ne lancera pas d'erreur de compilateur. Le seul problème est qu'il produit des résultats incorrects.
Une erreur logique fatale entraînera l'arrêt de l'exécution du programme tandis qu'une erreur non fatale permettra à l'exécution du programme de continuer mais avec des résultats incorrects.
Une erreur logique courante est une erreur un par un. Cela se produit normalement lors de l'établissement d'une condition de continuation de boucle. Supposons que vous vouliez imprimer les cinq premiers nombres carrés.
En rapport: Erreurs de programmation et de codage les plus courantes
Vous pourriez finir par écrire le code ci-dessous dans votre boucle for, qui ne donne que les quatre premiers de ces nombres.
pour( entier x=1; x<5; x++){ System.out.ln (x*x); }
Pour éviter une telle erreur, vous pouvez utiliser à la place le signe <=. L'utilisation du signe inférieur ou égal à est plus intuitive et vous serez donc moins susceptible de mélanger vos opérations relationnelles.
Une autre erreur logique courante consiste à omettre les deux accolades d'une instruction de contrôle et pourtant le corps ci-dessous forme un bloc de code qui est sous son contrôle.
Regardez l'exemple ci-dessous. Il vérifie si un nombre aléatoire est pair ou impair, puis imprime une sortie.
importer java.util. Aléatoire;
classe publique ImpairEven{
public static void main (String[] args) {
Nombre aléatoireGenerator = new Random();
int randomNumber = numberGenerator.nextInt (10) ;
si ((randomNumber%2)==0)
System.out.println("Voici votre numéro porte-bonheur :" + randomNumber);
System.out.println("Le nombre "+ randomNumber +" que vous avez obtenu est pair"); // ligne 11
}
}
Remarquez la ligne 11. Il s'exécutera toujours, que le nombre aléatoire que vous obtenez soit pair ou non. Ce serait bien sûr logiquement faux lorsque le nombre que vous avez obtenu est impair.
Y compris les deux System.out.println déclarations entre accolades { }, aurait évité cela.
En rapport: Étapes de développement de logiciels que tous les programmeurs devraient connaître
Une autre erreur logique à surveiller est de ne pas fournir une condition de fin de boucle. Cela se traduira par une boucle infinie et votre programme ne terminera jamais l'exécution.
3. Erreurs de syntaxe ou de compilation
Il s'agit d'erreurs dues à des violations des règles du langage Java. Elles sont également appelées erreurs de compilation ou de compilation.
Ce sont les erreurs les plus faciles à gérer car votre compilateur les rapportera toujours. De nombreux compilateurs vont même de l'avant et vous indiquent la ligne de votre code sur laquelle se trouve l'erreur.
Tolérance aux pannes
Un moyen pratique de traiter les problèmes logiciels consiste à utiliser la tolérance aux pannes en incluant la gestion des exceptions. Vous pouvez utiliser essayer..attraper déclarations pour y parvenir.
Pour continuer l'exécution du programme quelle que soit l'exception interceptée dans le attraper bloquer, utilisez le finalement déclaration.
La syntaxe est:
try{ // Bloquer à exécuter s'il n'y a pas de problèmes }
capture (Exception e){
// Bloquer pour gérer les problèmes trouvés
}finally{ // Bloc à exécuter après catch
}
Voir l'exemple de code ci-dessous:
importer java.util. Aléatoire;
classe publique RandomNumbers{
public static void main (String[] args) {
Nombre aléatoireGenerator = new Random();
essayer{
pour (compteur int = 10; compteur<=100; compteur++){
int randomNumber = numberGenerator.nextInt (10) ;
System.out.println (counter/randomNumber); } }
capture (Exception e){
System.out.println("Division par zéro rencontrée!");
}
finalement{
System.out.println("Valeur infinie obtenue");}
}
}
Le programme ci-dessus génère un nombre aléatoire entre zéro et 10, puis utilise ce nombre pour diviser une valeur de compteur entre 10 et 100. Si une division par zéro est rencontrée, le système détecte l'erreur et affiche un message.
Améliorez le codage
Il est recommandé d'ajouter des commentaires à votre code. Cela vous aidera à parcourir facilement vos fichiers lorsque vous avez un bogue. Une petite étape, mais très importante, pour développer des pratiques de codage solides.
Avec de bonnes pratiques de codage, vous devriez pouvoir éviter les erreurs de programmation courantes.
Vous ne savez pas comment coder? Vous ne comprenez pas les scripts? Voici ce que vous devez savoir sur les éléments constitutifs de la programmation.
Lire la suite
- Programmation
- Java
- Conseils de codage
Jerome est rédacteur chez MakeUseOf. Il couvre des articles sur la programmation et Linux. Il est également un passionné de crypto et garde toujours un œil sur l'industrie de la crypto.
Abonnez-vous à notre newsletter
Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !
Un pas de plus…!
Veuillez confirmer votre adresse e-mail dans l'e-mail que nous venons de vous envoyer.