프로그래밍 언어/Java(연습)
try, catch, finally
얗마
2016. 5. 2. 20:59
[주제]
- try, catch 사용방식
[중요]
- 오류를 검사하고, 오류 발생 시 처리에 대한 내용을 작성할 수 있음
- 'catch'에 사용되는 'Exception' 클래스는 다양한 종류가 있지만 'Exception'만 작성해도 모든 것을 포함시킴
- 'catch'가 2개 이상일 경우 해당 오류 종류에 맞는 '오류종류Eception'으로 작성하여 각각 대처 가능
- 'finally'는 잘 사용되지 않음
[소스 코딩]
package sample01; public class mainClass { public static void main(String[] args) { /* * [try catch] * try { * 오류 검사할 내용 * } catch(오류 클래스 이름 변수명) { * 내용 * } finally { * 내용 * } * - 'try 내용'에 'catch 오류 클래스'에 해당되는 오류가 발생되면, * 'catch'에 작성된 내용을 실행 * - 'finally'에 작성된 내용은 위에 상황과 관계없이 무조건 실행 */ int num[] = { 1, 3, 5 }; System.out.println("시작합니다"); try { for (int i = 0; i < 4; i++) { System.out.println(num[i]); } } catch(Exception e) { e.printStackTrace(); // 오류 클래스 이름을 출력 e.getMessage(); // 오류가 발생된 위치를 출력 } finally { System.out.println("여기는 무조건 실행"); } System.out.println(); int n = method(2); System.out.println("n = " + n); System.out.println(); disp(1); disp(2); disp(3); } public static int method(int n) { try { if(n == 2) return 10; } catch (Exception e) { e.getMessage(); } finally { System.out.println("finally"); } n = 2; return n; } public static void disp(int no) { int n[] = { 20, 30, 40 }; try { System.out.println(n[no]); } catch (ArrayIndexOutOfBoundsException e) { System.out.println("배열의 범위를 초과했습니다"); return; } finally { System.out.println("요소의 출력을 종료합니다"); } } } | cs |
■ 실행결과
■ 파일 첨부