다단계 catch 부분에서 질문 드립니다.
2008-05-03
|
by jjjjj
2257
다단계 catch 문을 작성할때 예를 들어
try {
FileReader f = new FileReader("tryc.java");
f.close();
}catch(FileNotFoundException e1) {
e1.printStackTrace();
}catch(Exception e2){ <-이부분에 대해 정확한 과정을 설명좀 부탁드려요.
클 e2.printStackTrace();
}
위와같은 코드가 있다고 할때 이해가 안가는 부분이 있는데요.
Exception클래스는 미처 잡지못한 Exception을 잡는다고 하였는데
그 원리는 서브 클래스 들이 Exception클래스로 업캐스팅이 되기 때문이라는
의미까지는 알겠습니다. 왜냐하면 Exception클래스의 서브 클래스들이 Exception
클래스들을 상속하니까요.
근데 제가 이해가 안가는 부분은 업캐스팅 된 후에 무엇을 실행하여 서브클래스의
에러를 출력하는지 입니다.
설명하기가 약간 어렵지만 업캐스팅 된 후 재정의된 서브클래스의 toString()메서드를
사용하는 거 같기는 한데.. 그 정확한 과정 자체를 정리해 보고 싶은데 잘 안되네요.
설명을 좀 부탁드립니다..