2013년 1월 14일 월요일

[Java] 익셉셥

자바에서는 미리 정의해둔 예외들이 존재한다.

생각해보자. 예외는 프로그램을 실행하여 작동할때 그 흐름에 있어서 프로그래머가 생각지 못한 예외는 꼭 존재하기 마련이다. 예를들어 어떤 수를 0으로 나눠버린다던지 등...

항상 사용자가 프로그래머가 의도한대로만 값을 넣고 결과를 유도하리라는 착각은 버려야 한다. 따라서 항상 예외가 날법한 곳에 예외처리를 해줘야하는 것은 귀찮은 일이 아니라 당연한 일이다.

그렇다면 자바에서는 어떻게 예외처리를 해줘야 할까?

1. try{
     ...
    }

 예외범위지정(즉, 예외가 일어날 부분만 지정)

2.catch(익셉션 종류 객체){
                  ...
   }
 예외처리

이 방법은 예외를 적극적으로 처리하는 방법이다. 예외가 발생하면 catch에서 바로 처리해주기 때문이다.

두 번째 방법은 예외를 회피하는 방식
throws Exception을 사용하여 메소드 밖으로 예외를 던지는 것을 말한다.
즉, 예외를 바로 처리하지 않고 밖으로 던져진 곳에서 처리하겠다는 의미이다.

예외는 분명 프로그램의 흐름을 방해하는 것이고 이를 항상 처리해줘야 하는 것은 프로그래머의 의무이다. 따라서 항상 API문서를 통해 해당하는 클래스의 상속, 생성자, 필드, 메소드만을 체크할 뿐만 아니라 throw 예외까지 보고 처리해 주도록 하자.

마지막으로
try{} catch{}에 이어서 finally{ }가 존재한다. finally블록은 try문에 명령이 시작되면 무조건 실행되는 것이 중요하다. finally에서는 예외가 발행하였든 하지 않았든 처리할 부분이 존재할 때 꼭 처리해주는 부분이다.

댓글 없음:

댓글 쓰기