ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 14일 차 예외의 종류
    삼성SDS_멀티캠퍼스/Java 2015. 9. 25. 09:05
    반응형

    # 예외 : 프로그램이 실행중에 종료되게 만드는 원인.

    크게 RuntimeException, IOException, Error 로 나뉜다.

    # Error : 우리의 잘못이 없는데 프로그램이 죽는것으로 어쩔수 없다. (시스템 상에서 발생하는 치명적인 에러) - 예외처리 대상이 아니다.

    - OutOfMemoryError

    - AWTError

    - ThreadDeath

    # RuntimeException : 우리(개발자)가 잘못한것. 잘못 안 할수 있던 것이다.

    예외처리의 필수대상은 아니다.

    # IOException : 필수 예외처리 대상 !!!! ※중요※

     

    # 체크 예외와 비체크 예외

    자바 컴파일러는 RuntimeException 은 확인하지 않는다. 그밖의 예외는 모두 처리를 확인한다.

     

    # 다형성과 예외

    예외도 객체이기 때문에 new 연산자로 생성된다.

    try {

    }

    catch(NumberException e){

    //NumberException 하위 클래스의 에러들도 다 잡힘.

    }

     

    # 예외처리 방법 두가지

     - 직접 처리 방법


    import java.util.InputMismatchException;
    import java.util.Scanner;

    public class Test {
     public static void main(String[] agrs) {

      System.out.println(readString());

     }

     public static String readString() {
      byte[] buf = new byte[100];
      System.out.print("문자열을 입력하시오: ");
      try {
       System.in.read(buf); //read 메소드는 체킹예외인 IOException 을 발생시키기 떄문에 
             //호출시 예외처리를 해주지 않으면 컴파일러가 에러를 알려줌.
      } catch (IOException e) { // 예외처리를 그자리에서 처리.
       System.out.println(e.getMessage());
       e.printStackTrace();
      }
      return new String(buf);
      
     }
    }

    - 해당문장에 포함된 함수를 호출하는 놈에게 토스

    import java.io.IOException;
    import java.util.InputMismatchException;
    import java.util.Scanner;

    public class Test {
     public static void main(String[] agrs) {

      try {
       System.out.println(readString());
      } catch (IOException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      } //함수를 호출 하는 본문에서 처리

     }

     public static String readString() throws IOException { //예외처리 책임전가
      byte[] buf = new byte[100];
      System.out.print("문자열을 입력하시오: ");

      System.in.read(buf); // read 메소드는 체킹예외인 IOException 을 발생시키기 떄문에 호출시 예외처리를 해주지 않으면 컴파일러가 에러를 알려줌.

      return new String(buf);
     }



    출처 : http://justbaik.tistory.com/29


    반응형

    '삼성SDS_멀티캠퍼스 > Java' 카테고리의 다른 글

    14일 차 정규표현식  (0) 2015.09.25
    14일 차 예외처리 실습예제  (0) 2015.09.25
    14일 차 Try - catch 문 (예외처리)  (0) 2015.09.25
    13일 차 문자열 잘라내기  (0) 2015.09.23
    13일 차 MVC변환  (0) 2015.09.23
Designed by Tistory.