Runtime Exception peut être lancée?
J'ai écrit une classe dans laquelle je suis en train de jeter une exception d'exécution. Le code est comme suit
public class ExceptionTest
{
public static void ReadFile() throws RuntimeException, FileNotFoundException{
try{
BufferedReader b =new BufferedReader(new FileReader("I:\\Workspace\\Basic Java\\bin\\Exceptions\\List To Read.txt"));
String s = b.readLine();
while(s!=null){
System.out.println(s);
s=b.readLine();
}
}
catch(RuntimeException e){
throw e;
}
catch(FileNotFoundException e){
throw e;
} catch (IOException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
}
Et ma classe principale ressemble
public class TheMain {
public static void main(String args[]){
ExceptionTest.ReadFile();
}
}
mon doute peut-on lancer une exception?
S'il vous plaît aider
- oui, vous pouvez. Vous pouvez jeter quoi que ce soit qui s'étend Throwable - vérifier la documentation javadoc.
- si vous ne pouvez pas récupérer à partir d'une exception d'exécution, puis vous pouvez le jeter
- docs.oracle.com/javase/6/docs/api/java/lang/...
- Oui, vous pouvez jeter un RuntimeException. Vous avez également dit, "Mon doute, c'est que nous ne sommes pas de la manipulation de la levée de l'erreur dans la classe principale, mais mes JVM n'est pas de lancer une erreur?" Quelle est la levée d'erreur? Pouvez-vous fournir plus d'informations sur ce que l'erreur est, et ce que vous voyez?
- Désolé c'était mon erreur. Nous avons besoin de le manipuler en le principal
- La capture et viens de re-lancer comme cela devrait être évité car il serveurs sans objet. Si vous ne pouvez pas faire quelque chose d'utile pour récupérer, il suffit de laisser tout possible RuntimeException flotteur vers le haut et hors de votre Principal à la VM.
Vous devez vous connecter pour publier un commentaire.
RunTimeException
est un décochée exception. Vous pouvez le jeter, mais vous n'avez pas nécessairement, à moins que vous voulez spécifier explicitement à l'utilisateur de votre API que cette méthode peut lever une décoché exception. Mais même cela ne semble pas être nécessaire si vous parlez de ce fait (que la méthode peut lever une RunTimeException) dans la javadoc de cette méthode.Donc, en bref, oui, vous pouvez le jeter, mais vous n'avez pas à, car il ne vous donne aucun avantage donné et les coûts à l'aide de quelques lignes de code supplémentaires
Vous pouvez jeter un
java.lang.RuntimeException
(ou tout dérivé d'exception), comme il est normal d'exception. À la différence des autres exceptions, c'est que vous n'avez pas besoin de le mentionner dans la liste de levée, mais les exceptions non traitées peut lancer une méthode, c'est à dire.a le même effet que
Malgré cela, une
java.lang.RuntimeException
(ou quoi que ce soit dérivé) se comporte comme un normal exception, c'est à dire. il met fin à votre programme, si pas pris.Idéalement exception d'Exécution ne doivent jamais être jetés délibérément. Java a classé exception dans Checked Exception et non je.e Runtime exception. Nous devrions toujours jeter vérifié exception. La décoché les exceptions ne devraient jamais se produire dans le programme en tant qu'ils sont censé être manipulé par programmation et non pas en les jetant.