2010-10-02 17 views
4

La plupart des opérations d'E/S nécessitent un try catch block ou throws. Pourquoi try catch ou throws n'est pas requis pour System.out.print ou println. S'il y a une exception à l'intérieur de ces méthodes, comment saurais-je quelle est l'exception et comment l'attraper.IOException à l'intérieur de print ou println

Répondre

3

Vous pouvez vérifier une erreur en appelant

System.out.checkError(); 

javadoc of PrintStream.checkError() dit:

retours true si et seulement si ce courant a rencontré une IOException autre que InterruptedIOException, ou setError méthode a été invoquée

.

Si vous voulez vraiment surveiller les exceptions de System.out vous pouvez définir votre propre PrintStream-System.out et passer outre les méthodes qui vous intéressent

+0

System.out.checkError(); il renvoie un vrai s'il y a une exception else false, comment puis-je savoir quelle exception. –

+1

Vous ne pouvez pas savoir. L'exception est interceptée silencieusement et l'indicateur de dérangement est défini: 'catch (IOException x) {trouble = true; } ' – tangens