알버트의 개발하는 블로그
자바 제10강 : 자바 예외 처리 구문 (try~catch, finally) 사용하기 본문
이번 시간에는 자바에서 중요하게 사용되는 예외 처리 구문을 익혀보겠습니다.
예외 처리 구문은 오류가 발생될 것으로 예상되는 상황을 예외로 받아서 처리해줄 수 있습니다.
프로그램을 짜다 보면 오류가 많이 발생하는데, 이런 오류를 잡아줄 수 있기 때문에 아주 중요한 구문이라고 할 수 있습니다.
자바에선 이런 예외 처리를 try~catch, finally문으로 처리해줍니다.
try~catch, finally 문 사용법
자바의 예외(Exception) 처리는 try ~ catch ~ finally(선택사항)문으로 사용할 수 있습니다.
일단, 예외가 발생될 것으로 예상되는 문장을 try 블록에 포함해줍니다. 지정된 예외가 발생되면 실행할 문장은catch블록에 포함하면 됩니다.
만약, try블록의 내용을 실행하다 예외가 발생되면 더 이상 try블록의 내용을 실행하지 않고 catch블록의 내용을 실행하게 됩니다. 선택적으로 예외 발생 여부와 관계 없이 무조건 실행할 문장은 finally 블록에 적으면 됩니다.
간단한 예제를 통해서 써보겠습니다.
try {예외가 발생될 것으로 예상되는 문장
}
catch (Exception e) {
예외가 발생되면 실행할 문장
}
finally {
예외 상관없이 무조건 실행할 문장
}
try~catch, finally 구문 예제
대표사진 삭제
사진 설명을 입력하세요.
코딩을 이와 같이 해주었습니다. 크기가 5인 배열을 생성했는데 6번 반복해서 배열에 값을 저장하고 출력하라고 해주었습니다. 크기가 5밖에 없는데 6번반복하라고 했으니까 오류가 뜰 것입니다.
이처럼 오류가 뜬 것을 알 수 있습니다. ArrayIndexOutOfBoundsException 이라는 예외가 발생하면서 뜬 오류입니다. 이제 try catch문을 써보겠습니다.
오류가 발생된 부분인 배열을 저장하고 출력하는 부분을 블록으로 잡아주시고, 컨트롤 + 알트 + z 키를 같이 눌러주시면 저런 화면이 뜨는데요. Try/catch Block 부분을 클릭해주시면 자바가 알아서 예외처리구문을 만들어줍니다.
그러면 이런 화면이 뜨는데 try블록안에 우리가 잡아준 내용이 들어가있는 것을 볼 수 있습니다.
예외가 발생했을 때 e.printStackTrace();이라는 오류메세지를 출력해주라는 의미인데요.
마찬가지로 이렇게 오류 메세지가 뜨는 것을 볼 수 있습니다.
오류메세지를 지우고 저렇게 문장을 끼워넣으면 오류메세지가 출력이 안되고 끼워놓은 문장이 출력됩니다.
이렇게 catch블록에 들어있는 내용이 실행되는 것을 알 수 있습니다.
이번엔 finally문을 넣어보겠습니다. finally 블록 안에 들어있는 내용은 예외 발생 여부 관계없이 무조건 실행하게 됩니다. 기존 내용에 이렇게 추가해보겠습니다.
finally 블록 안에 들어있는 내용은 무조건 실행됩니다. 반복문이 총 6번 실행되었으므로 finally문은 6번 실행되어야 합니다. 실행해볼까요?
finally문을 통해서 이렇게 출력된 것을 알 수 있습니다.
이처럼 try~catch, finally문은 자바에서 정말 많이 쓰이는 문법입니다. 그래서 용도를 정확하게 알고 사용해야 합니다. 읽어주셔서 감사합니다.
'프로그래밍 언어 > Java' 카테고리의 다른 글
자바 제12강 : 자바 랜덤 난수 (Random) 이용해서 로또 번호 뽑기 (0) | 2021.09.10 |
---|---|
자바 제11강 : ArrayList와 클래스 이용하여 학생들의 정보 출력하기 (0) | 2021.09.10 |
자바 제9강 : 자바 클래스 생성자 함수, getter setter 함수, toString() 함수 만들기 (0) | 2021.09.09 |
자바 제8강 : 자바 ArrayList 클래스 이용하여 배열 처리하기 (0) | 2021.09.09 |
자바 제7강 : Date, SimpleDateFormat, Calendar 클래스로 시간, 날짜 출력하기 (0) | 2021.09.09 |