Friday, 17 March 2017

Gethrforexception Ioexception En Java

Est-il possible de différencier par programmation entre ce qui a causé une exception IOException Par exemple java lancera une exception IOException, s'il y avait une erreur pendant l'écriture. Comment puis-je savoir, si son quelque chose comme la violation d'accès, si le disque est hors de l'espace libre, si quelqu'un a déconnecté le lecteur réseau, ou d'autres choses. Je ne peux pas vraiment analyser le message car, il ne semble pas y avoir de format de message standardisé, Sun (ou oracle maintenant je suppose) ne semble pas avoir une sorte de format standardisé. Toutes les suggestions (Je suis assez nouveau pour Java, ce n'est pas ma langue normale, mais je dois l'utiliser pour réparer un système très brisé au travail.) Demandé le 29 juillet à 15h29 Obtenir une prise de la classe d'exceptions exactes donnera Vous l'une d'une poignée de sous-classes possibles de IOException, et ceux-ci sont assez normalisés. Vous pouvez soit tester des classes avec instanceof ou (une approche brutish) comparer les chaînes renvoyées par getClass (). GetName (). Il existe quelques solutions pour les autres choses que vous pouvez faire un File. canWrite () sur un fichier que vous êtes sur le point d'ouvrir pour l'écriture (eh bien, votre programme aurait dû faire de toute façon, si le nom andor répertoire peut varier), et si theres un Chance que vous avez manqué de l'espace de fichier, vous pourriez essayer d'écrire un petit fichier à un bon emplacement connu et voir si cela explose sur vous. Pas très élégant, je sais: Java n'est pas vraiment connu comme un langage de programmation de systèmes. D'autre part, très souvent en sachant une cause détaillée pour une exception doesnt aide beaucoup: Avec ou sans la connaissance, votre utilisateur peut tout simplement pas être en mesure d'obtenir le programme pour faire ce qui est nécessaire. Un addendum possible à votre premier paragraphe - habituellement you39re catch - ing ces exceptions, donc une alternative plus agréable est d'avoir des blocs catch séparés pour FileNotFoundException. UnknownHostException. Etc. Il évite les tests de quote-part et vous permet de gérer les cas spéciaux dans différents blocs depuis le début (sans exclure un bloc catch-all catch (IOException e) à la fin). Ndash Andrzej Doyle Jul 29 10 à 16:07 Ahdrzej: Vous avez très raison. Je pensais aux correctifs de bandes d'aide au codage préexistant et en supposant que uberjumper ne voulait pas réorganiser les hiérarchies de capture existantes (quoi qu'il puisse être). Mais si quotdoing il rightquot est une option, alors votre chemin serait. Ndash Carl Smotricz Jul 29 10 at 16: 13Construit une exception IOException avec null comme son message de détail d'erreur. IOException Construit une exception IOException avec le message de détail spécifié. Paramètres: message - Le message de détail (qui est enregistré pour une récupération ultérieure par la méthode Throwable. getMessage ()) IOException Construit une IOException avec le message de détail spécifié et cause. Notez que le message de détail associé à cause n'est pas automatiquement incorporé dans ce message de détail d'exceptions. Paramètres: message - Le message de détail (qui est enregistré pour une récupération ultérieure par la méthode Throwable. getMessage ()) cause - La cause (qui est sauvegardée pour une récupération ultérieure par la méthode Throwable. getCause ()). (Une valeur nulle est autorisée et indique que la cause est inexistante ou inconnue.) Depuis: 1.6 IOException Construit une exception IOException avec la cause spécifiée et un message de détail de (causenull. null. cause. toString ()) (qui contient généralement le Classe et détail de la cause). Ce constructeur est utile pour les exceptions d'E / S qui sont un peu plus que des wrappers pour d'autres objets pouvant être lancés. Paramètres: cause - La cause (qui est sauvegardée pour une récupération ultérieure par la méthode Throwable. getCause ()). (Une valeur nulle est autorisée et indique que la cause est inexistante ou inconnue.) Depuis: 1.6 Envoyer un bogue ou une fonctionnalité Pour plus d'informations sur la référence API et la documentation sur les développeurs, reportez-vous à la documentation de Java SE. Cette documentation contient des descriptions plus détaillées, axées sur le développeur, avec des aperçus conceptuels, des définitions de termes, des solutions de contournement et des exemples de code de travail. Copyright x00a9 1993, 2016, Oracle et ses filiales. Tous les droits sont réservés. L'utilisation est soumise aux termes de la licence. Voir aussi le document sur la politique de redistribution . Les scripts de cette page permettent de suivre le trafic de la page Web, mais ne modifient en rien le contenu.


No comments:

Post a Comment