본문 바로가기

개발일지/JAVA

(항해99) Java 문법 종합반 4주차 정리

<4주차>
오류 및 예외에 대한 이해, 예외발생과 try catch finally문, 예외 클래스 구조 이해하기, chained exception 및 실제 예외 처리하기, 제네릭 개념 및 기본 문법 소개, 제네릭 문법 자세히 살펴보기, collection 다시보기(List), Wrapper클래스

 

[오류(Error) vs 예외(Exception)]

 - 오류(Error)는 일반적으로 회복이 불가능한 문제

 - 예외(Exception)는 일반적으로 회복이 가능한 문제

 

[예외의 종류]

  • 코드실행 관점에서 예외의 종류
  • 컴파일 에러(예외)

 - .java 파일을 .class 파일로 컴파일할때 발생하는 에러

 - 대부분 여러분이 자바 프로그래밍 언어의 규칙을 지키지 않았기 때문에 발생

 - 예를들어 있지 않은 클래스를 호출한다거나, 접근이 불가능한 프로퍼티나 메소드에 접근한다거나 하는 경우에 발생

 - 컴파일 에러가 발생하는 경우 해결 방법은 문법에 맞게 다시 작성하는 것

 

  • 런타임 에러(예외)

  - 우리가 주로 다루게 될 에러(예외)

  - 문법적인 오류는 아니라서, 컴파일은 잘 되었지만 프로그램이 실행도중 맞닥뜨리게 되는 예외

 

  • 예외처리 관점에서 예외의 종류
  • 확인된 예외 (Checked Exception)

 - 컴파일 시점에 확인하는 예외

 - 반드시 예외 처리를 해줘야하는 예외

 

  •  미확인된 예외 (Unchecked Exception)

 - 런타임 시점에 확인되는 예외

 - 예외 처리가 반드시 필요하지 않은 예외

 

[throw vs throws]

throws throw
메서드 이름 뒤에 붙어 이 메서드가 어떠한 예외사항을 던질 수 있는지 알려주는 예약어 메서드 안에서, 실제로 예외 객체를 던질 때 사용하는 예약어
여러 종류의 예외사항을 적을 수 있음 실제로 던지는 예외 객체 하나와 같이 써야함

일반 메서드의 return 키워드처럼 throw 아래의 구문들은 실행되지 않고, throw문과 함께 메서드가 종료