Accueil Finances personnelles Programmation Java: Quand des erreurs surviennent, des erreurs

Programmation Java: Quand des erreurs surviennent, des erreurs

Table des matières:

Vidéo: APPRENDRE LE JAVA #13 - LES EXCEPTIONS 2025

Vidéo: APPRENDRE LE JAVA #13 - LES EXCEPTIONS 2025
Anonim

Des erreurs dans les applications Java peuvent survenir à différents moments. Cependant, vous pouvez classifier globalement lorsqu'une erreur se produira dans deux catégories, au moment de la compilation et de l'exécution, comme décrit dans les sections suivantes.

Erreurs de compilation

Le compilateur convertit le code de votre application en code octet Java. Au cours de ce processus, il prend le code lisible par l'utilisateur que vous écrivez et le convertit en quelque chose que le Java Runtime Environment (JRE) comprend.

Pour effectuer ce processus, le compilateur doit analyser le code, ce qui signifie qu'il lit le code de manière à déterminer sans ambiguïté ce que l'application doit faire, Je veux qu'il le fasse, et comment vous voulez que la tâche soit accomplie. Si vous ne respectez pas les règles d'écriture de code non ambigu, le compilateur affiche un message d'erreur. Ce message est en fait une sorte d'exception.

Analyser signifie lire l'entrée que vous fournissez, comme du code sous une forme lisible par l'homme, et la transformer en quelque chose d'autre, comme le code octet Java. Une application peut également analyser l'entrée de l'utilisateur. Par exemple, un utilisateur peut taper une chaîne que votre code d'application transforme en un nombre.

L'analyse syntaxique consiste donc à lire un type d'entrée, à interpréter cette entrée d'une manière spécifique, puis à produire une sortie basée sur l'entrée interprétée. Un analyseur génère une erreur lorsque l'entrée n'est pas ce qu'elle attend.

Par exemple, si l'utilisateur entre une chaîne contenant la lettre C et que vous attendiez une chaîne contenant un nombre, tel que 123, l'analyseur génère une exception indiquant que l'entrée est incorrecte.

Les erreurs de compilation sont les plus faciles à gérer parce que le compilateur vous dit normalement ce qui ne va pas et où l'erreur s'est produite. Même si l'information n'est pas exacte, le compilateur vous amènera au moins à la bonne zone du code cassé afin que vous puissiez rechercher l'erreur qu'il contient.

Pour que tout le monde comprenne exactement comment le langage Java est supposé fonctionner, les développeurs en créent une spécification. Cette spécification inclut les éléments de langage dans un langage spécial appelé Backus-Naur Form (BNF). L'utilisation de BNF est une méthode extrêmement précise de description d'une langue, de sorte qu'il n'y a aucun risque d'erreur d'interprétation de la part de qui que ce soit.

Vous pouvez voir un exemple de BNF pour le langage Java au Département d'Informatique - Daimi. Ne vous inquiétez pas trop de pouvoir lire cette spécification. La plupart des développeurs n'apprennent jamais à interpréter la BNF pour les langages qu'ils utilisent - c'est le domaine des développeurs de compilateurs.

Erreurs d'exécution

Le compilateur Java ne trouve pas toutes les erreurs dans votre code. Si la forme du code est correcte (c'est-à-dire que vous n'avez commis aucune erreur en tapant les éléments qui créent l'application), le compilateur ne trouvera pas l'erreur.

Par exemple, si vous initialisez une valeur numérique à 5 au lieu de 4, le compilateur ne peut pas trouver l'erreur pour vous parce que le compilateur n'a aucune idée que vous vouliez réellement écrire 4. Ces types d'erreurs créent erreurs d'exécution - ces erreurs qui se produisent à un moment donné de l'exécution de l'application.

Des erreurs d'exécution peuvent survenir à tout moment. Certaines erreurs sont plus susceptibles de se produire à des moments précis. La liste suivante vous donne des idées sur les moments où les erreurs d'exécution sont susceptibles de se produire:

  • Initialisation: Lorsque l'application démarre - avant qu'elle ne présente une interface quelconque à l'utilisateur ou n'effectue aucun travail utile - elle passe par une phase d'initialisation. C'est lors de la définition d'une variable au type incorrect ou en essayant d'utiliser une variable avant de l'initialiser sera remarqué. De nombreuses erreurs liées aux ressources se produisent également lors de l'initialisation car la plupart des applications ouvrent les ressources requises pendant cette période.

  • Mode de fonctionnement: Après l'initialisation d'une application, celle-ci est en mode de fonctionnement. S'il a une interface utilisateur, il commence à interagir avec l'utilisateur. C'est le moment où l'entrée de l'utilisateur est la plus importante.

    Vous trouverez également des variables initialisées de manière incorrecte à ce moment car l'utilisateur (ou le destinataire de la sortie de l'application, tel que le système) verra que la sortie est incorrecte. Les demandes d'utilisateur pour des ressources, telles qu'un fichier de données, créent également des erreurs pendant ce temps.

  • Traitement en arrière-plan: La plupart des erreurs de traitement en arrière-plan résultent de l'environnement (perte d'une connexion réseau), des ressources manquantes (fichier perdu), des variables initialisées incorrectement ou des erreurs dans l'application pour effectuer une tâche. Certaines tâches sont plus souvent exécutées en arrière-plan que d'autres.

    Par exemple, l'impression d'un document ou le téléchargement de ressources à partir d'Internet sont généralement effectués en arrière-plan, tandis que l'utilisateur continue de travailler avec l'application au premier plan.

  • Arrêt: Lorsque l'utilisateur (y compris les comptes système) indique à l'application qu'il n'est plus nécessaire, l'application passe par une phase d'arrêt. Au cours de cette phase d'arrêt, l'application ferme les fichiers et exécute d'autres tâches d'entretien qui garantissent que l'application ne gâche pas le système d'exploitation.

    Les erreurs les plus courantes pouvant survenir au cours de cette phase ne libèrent pas les ressources utilisées par votre application et ne sauvegardent pas les données sur le disque. Bien sûr, des erreurs de codage peuvent survenir à tout moment, et cette phase de fonctionnement ne fait pas exception. Vous pouvez dire à l'application de fermer cinq fichiers lorsque seulement quatre d'entre eux sont réellement ouverts.

Le JRE présente la plupart des erreurs d'exécution qu'il détecte comme des exceptions. Cependant, le JRE n'attrape pas toutes les erreurs dans votre application.Vous devez également regarder la sortie de votre application pour déterminer si la sortie correspond aux attentes que vous avez pour une entrée donnée.

En outre, il est important de vérifier l'état des ressources que vous utilisez pour vous assurer qu'elles ne sont pas endommagées d'une manière ou d'une autre. Par exemple, vous devez vous assurer que toutes les données que vous devez enregistrer dans un fichier se retrouvent réellement dans le fichier lorsque votre application s'arrête.

Java 8 met davantage l'accent sur la sécurité, ce qui signifie que vous verrez plus d'instances SecurityException pendant que vous travaillez avec votre application.

Voir une augmentation des exceptions de sécurité ne signifie pas que votre code est défectueux ou que Java 8 est rempli de bugs - cela signifie que Java 8 localise automatiquement et vous signale les problèmes qui pourraient causer des problèmes de sécurité.

La documentation SecurityException apparaît à Java. net. Bien sûr, vous voudrez savoir de quoi parle tout le brouhaha.

Programmation Java: Quand des erreurs surviennent, des erreurs

Le choix des éditeurs

Conventions de dénomination pour Ruby on Rails - mannequins

Conventions de dénomination pour Ruby on Rails - mannequins

Vous utilisez Ruby on Rails pour créer un site Web application ou application de base de données Web, ce qui est très intelligent de votre part. En fonction de ce que vous utilisez (une application, une relation un-à-plusieurs ou une relation plusieurs-à-plusieurs), vous utilisez différentes variantes des protocoles d'attribution de noms Rails, qui sont expliquées dans les sections suivantes. Ruby Naming for ...

En orbite, panoramique et zoom dans la vue 3D de Blender - mannequins

En orbite, panoramique et zoom dans la vue 3D de Blender - mannequins

En essayant de naviguer dans un espace en trois dimensions à travers un écran bidimensionnel comme un écran d'ordinateur, vous ne pouvez pas interagir avec cet espace 3D virtuel exactement comme vous le feriez dans le monde réel, ou espace de vie. La meilleure façon de visualiser le travail en 3D à travers un programme comme Blender est d'imaginer la vue 3D comme vos yeux ...

Déplacement de clips sur la timeline dans Final Cut Pro HD - Ficelles

Déplacement de clips sur la timeline dans Final Cut Pro HD - Ficelles

Final Cut Pro HD Timeline vous permet d'organiser tous vos clips vidéo et audio afin qu'ils racontent l'histoire que vous voulez raconter. Pour comprendre le fonctionnement de la Timeline, imaginez-la comme une page de partitions, mais plutôt que de placer des notes de musique de différentes durées (noires, demi-notes, ...

Le choix des éditeurs

Contrôle et modification de l'associativité des dimensions dans AutoCAD - Dummies

Contrôle et modification de l'associativité des dimensions dans AutoCAD - Dummies

Lorsque vous ajoutez des dimensions en sélectionnant des objets ou en utilisant l'accrochage aux objets Pour sélectionner des points sur les objets, AutoCAD crée normalement des dimensions associatives, qui sont connectées aux objets et se déplacent avec eux. C'est le cas dans les nouveaux dessins créés à l'origine dans toute version d'AutoCAD à partir de 2002. Si vous ...

Copie de styles de cote existants dans AutoCAD 2008 - mannequins

Copie de styles de cote existants dans AutoCAD 2008 - mannequins

Si vous avez la chance de travailler dans un bureau Quelqu'un a mis en place des styles de cotes qui conviennent à votre secteur d'activité et à votre projet. Vous pouvez le copier et ainsi éviter de devoir créer vos propres styles de cote. (Un style de cote - ou dimstyle pour faire court - est une collection de paramètres de dessin appelée dimension ...

En choisissant un style d'édition AutoCAD -

En choisissant un style d'édition AutoCAD -

Dans AutoCAD vous passez généralement plus de temps à éditer que dessiner des objets. C'est en partie parce que le processus de conception et de rédaction est, par nature, sujet à des changements, et aussi parce que AutoCAD vous permet de modifier facilement les objets proprement. AutoCAD propose trois styles d'édition: Commande-première Sélection-première Objet-direct (poignée) AutoCAD fait référence à l'édition de commandes comme verbe-nom ...

Le choix des éditeurs

Praxis Examen d'éducation élémentaire - Présentations orales - mannequins

Praxis Examen d'éducation élémentaire - Présentations orales - mannequins

Parce que les élèves doivent généralement donner des présentations orales en classe , vous rencontrerez probablement une question sur ce sujet dans l'examen Praxis Elementary Education. Plus formelles que les discussions de groupe, les présentations orales ont leurs propres règles pour le conférencier. Lorsque vous donnez une présentation en classe, il y a plusieurs ...

Praxis Examen d'éducation élémentaire - Littérature et texte d'information - mannequins

Praxis Examen d'éducation élémentaire - Littérature et texte d'information - mannequins

L'examen Praxis Elementary Education sur la littérature et le texte d'information, c'est-à-dire la fiction et la non-fiction. Vous devrez donc vous familiariser avec les différents genres d'écriture. La compréhension du texte est un processus qui se produit au fil du temps.

Praxis Examen d'éducation élémentaire - Connaissance phonologique - mannequins

Praxis Examen d'éducation élémentaire - Connaissance phonologique - mannequins

Vous rencontrerez probablement une ou deux questions qui impliquent des questions phonologiques sensibilisation à l'examen Praxis Elementary Education. La conscience phonologique est une compétence large impliquant la reconnaissance de son. Les lecteurs débutants commencent par apprendre les sons individuels, ou phonèmes, dans des mots parlés. Par exemple, le mot chat a trois phonèmes: / c / / a / / t /. Un lecteur débutant apprend ...