본문 바로가기

Programming/JAVA

[Exception전략] Java의 Exception 처리 최적화

Performance improvement techniques in Exceptions (번역)

 

원문: http://www.precisejava.com/javaperf/j2se/Exceptions.htm

 

- 하나의 try 블럭 안에서 모든 exception을 catch(Exception e) 하나로 잡으려 하지 말고,

각각의 예외가 발생할 수 있는 상황에 대하여 try-catch 를 따로따로 사용하라.

 

- 프로그램의 흐름을 제어하기 위한 인위적인 exception handling을 하지 마라.

 

- throws 절에는 Exception을 사용하지 말고 보다 상세한 (FileNotFoundException 같은) Exception의 하위 클래스를 사용하라.

 

- exception handling을 자주 사용하라. exception이 발생하지 않을때 exception 처리를 해서 추가되는 오버헤드는 아주 작다. exception이 발생하는 상황에서만 실행시간의 오버헤드가 생긴다.

 

- DB connection, file, socket connection 등의 리소스를 해제할 때에는 항상 finally 블럭을 사용하라. 이것은 leak을 방지해준다.

 

- 메소드 호출을 할때 항상 exception이 발생하는 메소드 내에서 exception을 처리하라. 특별히 필요한 경우가 아니라면 호출하는 메소드에 exception을 떠넘기지 마라. 호출하는 메소드에 exception을 넘기는 것은 더 많은 실행시간이 걸리기 때문에 로컬에서 처리하는 것이 효율적이다.

 

- 루프 안에서 exception handling을 하지마라. try/catch안에 루프를 넣는 것이 좋다.

'Programming > JAVA' 카테고리의 다른 글

[펌] DBUnit의 사용  (0) 2008.08.05
[REX] Commons-DbUtils  (0) 2008.08.05
Java 관련 사이트 총망라  (0) 2008.04.28
EJB에 대한 질문들~  (0) 2008.04.28
JSP로 이미지 생성하기  (0) 2008.04.28