-
Exception의 중요한 특징들개발언어 2021. 12. 23. 17:44
- 어떤 메서드가 Exception을 던지면 method call stack을 따라 자신을 호출하는 메서드로 exception이 전달 된다.
- Runtiome exception은 try~catch를 해도 되고 안해도 된다. try~catch를 안할 경우 자동적으로 던저진다.
- Checked exception은 반드시 try~catch를 하거나 throws로 던져야 한다.
- 자원을 사용하면 반드시 해제해야 memory leak이 발생하지 않는다. 자원의 해제는 finally에서 반드시 해야 한다. 그렇지 않은 경우 exception이 발생하면 해제가 안되어 memory leak이 생긴다.
- AutoCloseable인터페이스를 구현한 클래스들은 try-with-resources구문을 사용하면 finally를 사용하지 않고도 자동으로 해제된다.
ArithmeticException : RuntimeException이므로 throws ArithmeticException을 던지던 말던 프로그램이 실행된다.
RunTimeException은 투명인간 같은 느낌으로 굳이 명시(throws)해주지 않아도 발생시 알아서 exception처리가 된다.
어떤자원을 새로 만들시 그 자원을 AutoCloseable하게 만들어 놓으면 된다. AutoCloseable은 메소드가 close하나밖에 없다. 어떤 자원을 만들시 Autocloseable을 implement해놓으면, try-with-resources를 사용 할 수 있어서 편하다.
'개발언어' 카테고리의 다른 글
컬렉션 (0) 2021.12.27 제네릭 (0) 2021.12.27 try-with-resources (0) 2021.12.23 Exception (0) 2021.12.22