Quand une IOException généralement se produire et quelles mesures dois-je prendre pour gérer correctement il?

Je suis en utilisant le Fichier d'Entrée/Sortie flux. Je sais que la lecture d'un fichier qui n'existe pas de programme à l'aide de FileInputStream donnera FileNotFoundException. Droit? Donc, je peux attraper cette excpetion et peut retourner la valeur null ou 0 valeur(dépend du type de retour de ma méthode d'effectuer tout cela de lecture) sur l'Exception de transmettre le programme appelant que le fichier n'existe pas et doit créer une.

Mais je ne sais pas quand IOException se produit en général et quelle est précisément la raison pour laquelle je doit transmettre au programme appelant qui " il "est arrivé à cause de "ça".
J'ai exactement ne sais pas ce qu'est 'ce' et 'que' ici.

Personne, veuillez préciser moi dans ce cas la IOException peut se produire et que les mesures dois-je prendre dans de tels cas.
S'il vous plaît aider. Merci.

  • Parce que vous avez exécuté une opération d'e/S, mais cela entraîne une erreur. Exemple: vous essayez de lire un int mais l'application de lire un String.
  • que dois-je prendre dans de tels cas, il dépend de l'action que vous êtes en train de faire. Il n'y a pas de réponse spécifique pour cela.
  • Chaque méthode de la java.io classes de lancer une IOException est documenté, et explique quand et pourquoi une IOException est levée. Lire la javadoc. En outre, renvoyer 0 ou null n'est généralement pas la bonne façon de traiter avec une IOException. La meilleure façon, en général, est de faire votre propre méthode de jeter le IOException ainsi, et de laisser l'INTERFACE utilisateur de traiter avec eux.
  • Il repose sur le code qui vous n'avez pas le post qui va vérifier cette valeur, si c'est mauvais ou bon si il documentées ou non. Mais si vous renvoyer l'exception interceptée, il sera clair.
  • Dans mon code supposer que j'ai readNum() méthode qui ne lecture à partir d'un fichier à l'aide de FileInputStream et renvoie la valeur num(intger). Cette méthode est appelée par une autre classe. Bon alors maintenant si le fichier n'existe pas, je peux retourner -1 ou 0 sur FileNotFoundException pour indiquer que le fichier n'existe pas, mais ma question est que dois-je retourner sur IOException pour indiquer que ceci est arrivé à cause de cela.
  • Nizet : eh Bien Merci pour vos suggestions. Je reviens java doc.
  • ne pas retourner -1 ou 0. Laissez votre méthode de jeter une IOException, et laisser l'appelant (l'INTERFACE utilisateur) attraper cette IOException et afficher un message d'erreur.
  • Nizet: Oh ya, que l'une est meilleure idée. Merci.

InformationsquelleAutor Winn | 2013-10-27