Программирование на JAVA
Меню :
Стартовая
Основы программирования
Программирование на JAVA
Программирование на C++
Программирование на Pascal
Задачи по программированию
public Test() { }
public static void main(String[] args) { Test test = new Test(); try{
test. doFilelnputfbogus. file");
}
catch (lOException ex) {
System.out.printlnfSecond exception hadle starck trace"); ex. printStackTrace( ) ;
}
}
private String doFilelnput(String fileName)
throws FileNotFoundException,lOException { String retStr = ""; java.io.FilelnputStream fis = null; try{
f is = new java.io.FilelnputStream(fileName);
}
catch (FileNotFoundException ex) {
System.out.printlnf'First exception hadle starck trace");
ex.printStackTrace();
throw ex;
}
return retStr;
}
}
Результат работы будет выглядеть следующим образом:
Java.io.FileNotFoundException: bogus.file (The system cannot find the file specified)
at java.io.FilelnputStream.open(Native Method)
at java.io.FilelnputStream.<init>(FilelnputStream.java:64)
at experiment.Test.doFilelnput(Test.java:33)
at experiment.Test.main(Test.java:21) First exception hadle starck trace
Java.io.FileNotFoundException: bogus.file (The system cannot find the file specified)
at java.io.FilelnputStream.open(Native Method)
at java.io.FilelnputStream.<init>(FilelnputStream.java:64)
at experiment.Test.doFilelnput(Test.java:33)
at experiment.Test.main(Test.java:21) Second exception hadle starck trace
Так как при вторичном возбуждении используется один и тот же объект Exception, стек в обоих случаях будет содержать одну и ту же последовательность вызовов. То есть при повторном возбуждении исключения, если мы используем тот же объект, изменения его параметров не происходит.
Рассмотрим другой пример:
import Java.io.*;
public class Test {
public Test() { }
public static void main(String[] args) { Test test = new Test();
try {
test.doFilelnput();
}
catch (lOException ex) {
System.out.printlnf'Exception hash code" + ex.hashCode()); ex. pri ntStackTrace();
}
}
private String doFilelnput()
throws FileNotFoundException,IOException{ String retStr =""; java.io.FilelnputStream fis = null; try {
fis = new Java.io.FilelnputStreamf'bogus.file");
}
catch (FileNotFoundException ex) {
System, out. printlnfException hash code" + ex.hashCode()); ex. pri ntStackTrace();
fis = new java.io.FilelnputStream("anotherBogus.file"); throw ex;