-
[JAVA]_8일차_05.06프로그래밍/Java 2021. 5. 7. 22:42
예외 처리
try { 오류가 발생할 수 있는 부분 } catch (특정 오류) { 명시된 오류 발생하면 현재 부분 내용 실행 (ex. 오류가 발생하였습니다 출력) e.printStackTrace(); //오류에 대한 내용 출력 } finally { 무조건 실행되야 하는 부분 (오류발생해도, 오류없어도) }
오류의 종류
- Logic Error
- Syntax Error ↔ 일반 예외 (Compiler 가 체크한다→강제적으로 예외처리 요구)
- Runtime Error ↔ 실행 예외 (Compiler 가 체크하지 않는다→예외처리 코드를 개발자의 경험을 바탕으로 작성해야 함)
빈번하게 발생하는 Runtime Exception
- NullPointerException
- ArrayIndexOutOfBoundsException
- NumberFormatException
- ClassCastException
다중 catch
- catch 순
자동 리소스 닫기 (xx.close() )
예외 떠넘기기 (메소드를 호출한 곳으로)
- throws 키워드
사용자 정의 예외 & 예외 발생
사용자 정의 예외 클래스
- 일반 예외로 선언할 경우 (컴파일러가 체크하는) : Exception 상속
- 실행 예외로 선언할 경우 (컴파일러가 체크하지 않는) : RuntimeException 상속
예외 발생 시키기
//예외를 발생시키는 방법 throw new XXXException(); throw new XXXException("메세지");
public void withdraw(int money) throws BalanceInsufficientException { if(balance < money) { throw new BalanceInsufficientExcpetion("잔고부족:"+(money-balance)+" 모자람"); } balance -= money; }
'프로그래밍 > Java' 카테고리의 다른 글
[JAVA]_7일차_05.05 (0) 2021.05.05 [JAVA]_6일차_05.04 (0) 2021.05.05 [이것이 자바다] 4장 확인문제 (0) 2021.04.29 "Java의 정석" - "이것이 자바다" 목차 (0) 2021.04.28 21.04.27 / 혁신성장_인공지능 개발자 과정_2일차 (0) 2021.04.28