오류란?
- 컴파일 오류: 프로그램 코드 작성 중 발생하는 문법적 오류
- 실행 오류: 실행 중인 프로그램이 의도하지 않은 동작을 하거나(bug) 프로그램이 중지
- 실행 오류 시 비정상 종료는 서비스 운영에 치명적
- 오류가 발생할 수 있는 경우에 로그(log)를 남겨 추후 이를 분석하여 원인을 찾아야함
- 자바는 예외 처리를 통해 프로그램의 비정상 종료를 막고 log를 남길 수 있음
오류와 예외 클래스
- 시스템 오류: 가상머신에서 발생
ex) 동적 메모리가 없는 경우, 스택 오버 플로우 등
- 예외(Exception): 프로그램에서 제어할 수 있는 오류
읽어 들이려는 파일이 존재하지 않는 경우, 네트워크 연결이 끊긴 경우
Exception 처리
public class reduceTest
{
// tip: arguments are passed via the field below this editor
public static void main(String[] args)
{
int[] arr = {1,2,3,4,5};
try{
for(int i=0; i<=5; i++){
System.out.println(arr[i]);
}
}catch(ArrayIndexOutOfBoundsException e){
//여기서 오류가 생겼을 때 로그를 남길 수 있음
System.out.println(e);
//이 retrun은 finally 수행 후 수행됨
//finally는 try실행시 무조건 실행됨
return;
}finally{
try{
fis.close()
}
fis.close();
}
System.out.println("end");
}
}
- throws
throws -> JVM으로 미루는 것