사용자 도구

사이트 도구


study:java:javachobo:ch8

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
다음 판 양쪽 다음 판
study:java:javachobo:ch8 [2010/02/15 15:30]
gauryan
study:java:javachobo:ch8 [2010/02/15 15:47]
gauryan
줄 53: 줄 53:
                  
         for( int i = 0 ; i < 10 ; ++i ) {         for( int i = 0 ; i < 10 ; ++i ) {
-            result = number / (int)(Math.random() 10); // 7번째 라인, 예외 발생+            result = number / (int)(Math.random() 10); // 7번째 라인, 예외 발생
             System.out.println(result);             System.out.println(result);
         }         }
줄 68: 줄 68:
         for( int i = 0 ; i < 10 ; ++i ) {         for( int i = 0 ; i < 10 ; ++i ) {
             try {             try {
-                result = number / (int)(Math.random() 10); // 7번째 라인, 예외 발생+                result = number / (int)(Math.random() 10); // 7번째 라인, 예외 발생
                 System.out.println(result);                 System.out.println(result);
             } catch (ArithmeticException e) {             } catch (ArithmeticException e) {
줄 191: 줄 191:
 throw e; throw e;
 </code> </code>
- +  * [예제 8-9] /ch8/ExceptionEx9.java <code java>
-  * [예제 8-9] /ch8/ExceptionEx9.java <code>+
 class ExceptionEx9 { class ExceptionEx9 {
     public static void main(String[] args) {     public static void main(String[] args) {
줄 207: 줄 206:
 } }
 </code> </code>
 +
 ===== 예외의 발생과 catch블럭 ===== ===== 예외의 발생과 catch블럭 =====
   * 첫 번째 catch블럭부터 차례로 내려가면서 catch블럭의 괄호()내에 선언된 참조변수의 종류와 생성된 예외클래스의 인스턴스에 **''instanceof''** 연산자를 이용해서 검사하게 되는데, 검사결과가 true인 catch블럭을 만날 때까지 검사는 계속된다.   * 첫 번째 catch블럭부터 차례로 내려가면서 catch블럭의 괄호()내에 선언된 참조변수의 종류와 생성된 예외클래스의 인스턴스에 **''instanceof''** 연산자를 이용해서 검사하게 되는데, 검사결과가 true인 catch블럭을 만날 때까지 검사는 계속된다.
줄 433: 줄 433:
 } }
 </code> </code>
- 
 ===== 사용자정의 예외 만들기 ===== ===== 사용자정의 예외 만들기 =====
 +
 +  * 기존의 정의된 예외 클래스 외에 필요에 따라 프로그래머가 새로운 예외 클래스를 정의하여 사용할 수 있다. 보통 Exception클래스로부터 상속받는 클래스를 만들지만, 필요에 따라서 알맞은 예외 클래스를 선택할 수 있다. <code java>
 +class MyException extends Exception {
 +    MyException(String msg) { // 문자열을 매개변수로 받는 생성자
 +        super(msg);           // 조상인 Exception클래스의 생성자를 호출한다.
 +    }
 +}
 +</code>
 +  * 필요하다면 멤버번수를 추가할 수 있다. <code java>
 +class MyException extends Exception {
 +    // 에러 코드 값을 저장하기 위한 필드를 추가했다.
 +    private final int errorCode = 100;
 +    
 +    MyException(String msg) { // 생성자
 +        super(msg);
 +    }
 +    
 +    public int getCode() {    // 에러 코드를 얻을 수 있는 메서드도 추가했다.
 +        return errorCode;     // 이 메서드는 주로 getMessage()와 함께 사용될 것이다.
 +    }
 +}
 +</code>
study/java/javachobo/ch8.txt · 마지막으로 수정됨: 2010/03/08 08:51 저자 gauryan