인프런 강의 사이트의 <자바 프로그래밍 입문 강좌 (renew ver.) - 초보부터 개발자 취업까지!!> 강의
.
사실이 아닐 수 있는 제 주관적 견해가 담겨있을 수 있음을 미리 알려드리며, 이런 부분이 보일 경우 댓글로 지적해주시면 감사하겠습니다.\
📝 개념정리
예외(Exception)
프로그램에 문제가 있는 것
소프트웨어적으로 뭔가 구현이 잘못되어있는 것
예외처리
예외로 인해 시스템의 동작이 멈추는 것을 예방하는 것
전체 시스템의 문제가 발생했을 때 전체적인 시스템의 흐름에 방해되지 않도록 사전에 예측, 예방하는 코드를 작성하는 방법
개발자 관점에서의 Exception과 Error구분
개발자가 대처 가능한 문제인가(Exception) 대처할 수 없는 문제인가(Error)
에러의 예 : 메모리부족, JVM 상의 문제, 전력 차단의 문제 등등 소프트웨어적으로 해결할 수 없는 물리적 장애요소
Checked Exception의 구분
예외에 대한 처리를 반드시 해야하는 경우(Checked Exception)와 개발자의 판단에 맡기는 경우(Unchecked Exception)
Checked Exception의 예 - 데이터 네트워크, 파일 시스템
Unchecked Exception의 예 - 데이터 오류
✅ Exception class
Exception의 종류(reference: Inflearn 자바 프로그래밍 입문 강좌)
✅Try - Catch
-> 개발자가 예외처리하기 가장 쉽고, 많이 사용되는 방법
try - catch 구문 (reference: Inflearn 자바 프로그래밍 입문 강좌)
Exception.printStackTrace() : 어떤 예외가 발생했는지 콘솔창에 출력해주는 메소드
Exception.getMessage() : 예외를 간략하게 나타낸 문자열을 받는 메소드
try - catch 구문이 끝난 뒤에 있는 코드는 이어서 실행이 가능하다.
다양한 예외처리 (reference: Inflearn 자바 프로그래밍 입문 강좌)
예외처리는 Exception 하나로도 가능하고, 좀더 세분화하고싶다면 하위클래스를 활용하여 여러 Exception으로도 가능하다. 단, 여러 Exception으로 활용할 경우에는 항상 마지막을 부모클래스인 Exception으로 마무리짓도록 한다. 세분화된 경우 해당 하위클래스에서 Exception이 catch된다면 그 자리에서 try - catch 구문이 종료되고 이후의 코드로 이어진다.
✅Finally
-> Exception이 발생하든 말든 여부와 상관없이 반드시 실행시켜주는 구문.
-> try - catch - finally 순서의 구문
finally 구문 예시 (reference: Inflearn 자바 프로그래밍 입문 강좌)
Throws
-> 예외 발생 시 예외처리를 직접 하지 않고 호출한 곳으로 넘긴다.
거쳐거쳐 실행되는 예외처리 구문 예시 (reference: Inflearn 자바 프로그래밍 입문 강좌)거쳐거쳐 실행되는 예외처리 구문 예시 (reference: Inflearn 자바 프로그래밍 입문 강좌)