열심히 끝까지
29강 예외처리 - 예외 / 예외처리 개념 본문
29-1 ) 예외처리
(1) 예외 / 예외처리 개념
예외란?
: 프로그램 실행 중 발생하는 오류 중에서 처리가 가능한 것을 의미
- 에러 : 개발자가 조치를 취할 수 없는 수준
ex ) 메모리 부족, JVM 동작 이상
- 컴파일 에러 : 컴파일 시 발생하는 에러
ex ) 오타, 잘못된 자료형
- 런타임 에러 : 프로그램 실행 도중에 발생하는 에러
- 로직 에러 : 실행은 되지만 의도와 다르게 동작하는 에러
- 예외 : 다른 방식으로 처리 가능한 오류
ex ) 입력값 오류, 네트워크 문제
<실습>
예외에 대한 간단한 예시 코드 실습
예외처리(Exception Handing)란?
: 예외가 발생했을 때 이를 적절히 처리하여
프로그램이 비정상적으로 종료되는 것을 막는 방법
예시 >
1. 입력오류?
: 숫자 입력 해야 하는 곳에 문자를 입력할 경우를 방지하기 위해
문자 입력 시 숫자를 입력해야 한다고 사용자에게 알려줌
(2) try-catch-finally
try - catch
: 예외 발생 시, 적절하게 처리하기 위해
자바에서 제공하는 예외처리 문법
[try - catch 문]
try{
예외가 발생할 수 있는 명령;
}
catch(발생할 수 있는 예외 클래스명){
예외 발생 시 실행할 명령;
}
<실습>
예외 발생 시 처리하는 방법 실습
<예외 클래스>
ArithmeticException : 산술연산 관련 오류
ArrayIndexOutOfBoundsException : 배열 인덱스 접근 오류
finally 문
: try - catch문에서 선택적으로 추가할 수 있는 문법
오류가 발생하든 하지 않든 무조건 실행하는 구문
[finally 문]
try{
예외가 발생할 수 있는 명령;
}
catch(발생할 수 있는 예외 클래스명){
예외 발생 시 실행할 명령;
}
finally{
예외가 발생하든 안하든 무조건 실행하는 명령;
}
<실습>
finally는 N/W 연결 시, 외부와의 연결을 종료하는 작업에서 주로 사용
네트워크 + 파일 입출력시에도 finally 많이 쓰임
프로그램에 있는 데이터를 파일에 쓰거나
파일에 있는 데이터를 프로그램에 불러오는 것
=> 파일 입출력
==> 입출력을 하기위한 연결망이 필요(=stream)
마지막에 닫아주는 작업이 꼭 필요하기에 finally 잘 쓰임
'멘토씨리즈 JAVA' 카테고리의 다른 글
31강 기본 API 클래스 알아보기 (0) | 2022.05.04 |
---|---|
30강 예외처리2 (0) | 2022.05.03 |
28강 추상클래스/인터페이스/내부클래스 - 내부클래스 (0) | 2022.05.02 |
27강 추상클래스/인터페이스/내부클래스 - 인터페이스 (0) | 2022.05.02 |
26강 추상클래스/인터페이스/내부클래스 - 추상 메서드와 추상클래스 (0) | 2022.04.30 |