간만에 답변달 때 먼저달린게 있나하고 체크했더니..
어차피 선행답변이 채택될 확율이 높고.. 나는 채택율이 떨어지거나 지식영향력만 떨어질테니 여기에만 올림.
질문)
내 답변)
try{
A
}catch () {
B
}finally {
C
}
가 있다고 하면..
A는 실행은 하지만 예외상황(값이 null 같은.. )이 생기면 실행되지 않을 수 도 있습니다.
B는 A에서 예외상황이 발생하면 발생하는 곳이구요.
C는 쓰지 않아도 되지만 쓰게 되면 반드시 실행되는 영역입니다.
즉 A에서 프로그램은 실행은 하지만 예외상황일때는 B를..
A에서 프로그램은 수행하고 별문제는 없지만 해당 메소드가 종료하게 되면, C는 무조건 실행이 되게 되는 겁니다.
아래는 http://hyeonstorage.tistory.com/203 에서 참고한 예제입니다.
1. CLASS
public class ExceptionTest {
public static void main(String args[]){
String[] name = new String[2]; // 배열이 2개.
try{
name[0] = "하이언";
System.out.println("이름 : "+name[0]); // 패스.
name[1] = "아이유";
System.out.println("이름 : "+name[1]); // 패스.
name[2] = "윤하";
System.out.println("이름 : "+name[2]); // 배열의 갯수를 넘어가서 예외처림 됨.
}catch(ArrayIndexOutOfBoundsException e){
System.out.println("배열 참조 에러 발생");
}catch(Exception e){
System.out.println(e.getMessage());
}finally{
System.out.println("시스템 종료.");
}
}
}
2, RUN
'course > 지식인' 카테고리의 다른 글
[자바] ArrayList에 객체를 생성해서 값을 입력. (0) | 2016.06.10 |
---|---|
[자바] 주요 메소드 등의 기능을 구현한 소스.. (0) | 2016.04.16 |
[자바스크립트] 여러가지 방법으로 숫자를 해당 영문자에 대입. (0) | 2016.04.12 |