Java

자바 프로그래밍 (Java) - 7 : 자바 기초 문법 (메인 메서드의 파라미터, 예외 처리)

n.han 2016. 7. 12. 10:23

- 메인 메서드의 파라미터

 

메인 메서드의 파라미터 변수는 클래스 이름 뒤에 오는 명령행 파라미터들로,

 

배열에 담겨져서 메인 메서드에 전달된다. 다음은 명령행 파라미터를 담은 배열인 args의 내용을 출력하는 예제이다.

 

class ParamExample1 {

    public static void main(String args[]) {

        for (String str : args)

            System.out.println(str);

        System.out.println("args.length=" + args.length);

    }

}

 

- 예외 처리

 

예외란 프로그램 런타임 시 발생 에러 중에 핸들링 가능한 것들을 말한다.

 

컴파일 타임 에러는 프로그램 컴파일 타임에 발생하는 오류로 컴파일 타임 에러와 런타임 에러는 별개의 문제이다.

 

컴파일 타임 에러 중에서 핸들링한 에러(예외)를 프로그램 내부에서 처리하는 것을 예외 처리라고 한다.

 

자바에서는 try, catch, finally 구문을 통해서 예외 처리가 가능하다.

 

먼저 예외가 발생할 것으로 예상되는 구문을 try 블록에 넣어준다. catch문에는 에러가 발생했을 때 처리해줄 명령문을 작성하고,

 

finally문에는 예외 발생 유무와 관계 없이 수행할 문을 작성한다. 만약 예외를 처리하지 않으면 프로그램이 비정상 종료된다.

 

다음은 Arithmetic 예외와 OutOfBound 예외를 발생 시킨 예제이다.

 

예외가 처리되어 프로그램이 정상 종료되기 때문에, 5번의 예외를 발생 시킨다.

 

 

public class Hello {

    public static void main(String args[]) {

        int divisor[] = { 5, 4, 3, 2, 1, 0 };

        for (int cnt = 0; cnt < 10; cnt++) {

            try {           

                int share = 100 / divisor[cnt];

                System.out.println(share);

            }

            catch (java.lang.ArithmeticException e) {

                System.out.println("잘못된 연산입니다.");

            }

            catch (java.lang.ArrayIndexOutOfBoundsException e) {

                System.out.println("잘못된 인덱스입니다.");

            }

        }

        System.out.println("Done.");

    }

}