자바 예외처리 만들기 - jaba ye-oecheoli mandeulgi

점프 투 자바 00장 들어가기 전에 00-01 머리말 00-02 주요변경이력 00-03 저자소개 00-04 책 구입 안내 01장 자바란 무엇인가? 01-01 자바에 대하여 01-02 자바의 특징 01-03 안녕 세상! 01-04 자바 산책하기 02장 자바 시작하기 02-01 자바 소스코드의 구조 02-02 변수와 자료형 02-03 명명 규칙 02-04 주석 03장 자료형 03-01 숫자 (Number) 03-02 불 (boolean) 03-03 문자 (char) 03-04 문자열 (String) 03-05 StringBuffer 03-06 배열 (Array) 03-07 리스트 (List) 03-08 맵 (Map) 03-09 집합 (Set) 03-10 상수집합 (Enum) 03-11 형변환과 final 03장 연습문제 04장 제어문 04-01 if 문 04-02 switch/case 문 04-03 while 문 04-04 for 문 04-05 for each 문 04장 연습문제 05장 객체지향 프로그래밍 05-01 객체지향 프로그래밍이란? 05-02 클래스 05-03 메소드 (Method) 05-04 Call by value 05-05 상속 05-06 생성자 05-07 인터페이스 05-08 다형성 05-09 추상클래스 05장 연습문제 06장 입출력 06-01 콘솔 입출력 06-02 파일 입출력 06장 연습문제 07장 자바 날개 달기 07-01 패키지 (Package) 07-02 접근제어자 (Access Modifier) 07-03 정적(static) 변수와 메소드 07-04 예외처리 (Exception) 07-05 쓰레드(Thread) 07-06 함수형 프로그래밍 07장 연습문제 08장 자바 프로그래밍, 어떻게 시작해야 할까? 08-01 3과 5의 배수 합하기 08-02 게시판 페이징하기 08-03 자릿수 구하기 08-04 공백을 제외한 글자수 세기 09장 종합문제 10장 풀이 11장 마치며 A 부록 A1 이클립스 기본 사용법 A2 JVM, JRE, JDK의 차이 A3 public 클래스 B 작은 프로젝트 B1 전문 생성과 파싱 B2 두 날짜의 차이 구하기

Given : ExceptionTest.java

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

import java.io.*;
public class ExceptionTest {
    public static void main(String[] args){
        //만약에 파일을 카피하거나 네트워크 전송할때.
        //FileInputStream fis = new FileInputStream("c:\\test\\aaa.txt");

        //문자로 읽어보기, 파일카피, 네트워크 전송
        //FileReader fr = new FileReader("c:\\test\\aaa.txt");
        FileReader fr=null;
        BufferedReader br=null;
        try{
            fr = new FileReader("c:\\Test\\aaa.txt");
            br = new BufferedReader(fr);
            char data[] = new char[512];
//            while(fr.read(data)!= -1){
//                System.out.println(data);
//            }
            String line= null;
            while((line = br.readLine())!=null){
                System.out.println(line);
            }
               
//            int read = fr.read();
//            System.out.println((char)read);
        }catch(FileNotFoundException e){
            System.out.println("해당 디렉토리나 파일이 없습니다.");
        }catch(IOException e){
            System.out.println("파일을 읽을수 없습니다.");
        }catch(Exception e){
            System.out.println("알수 없는 예외입니다.");
        }finally{
            try{
                if(fr != null) fr.close();
            }catch(Exception e){}
        }
    }
}

Given : Exception9.java

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/*
Exceptin 에는 크게 2가지 종류
    1.컴파일 시 try~catch 안해도 되는거.
        빈번히 일어나는 것들. RuntimeException을 상속.
        try~catch()
    2.컴파일시 try~catch 반드시 해야하는 것.
        사용자가 미처 알지 못할 수있는 반드시 처리해야 하는 것들.
        Exception을 상속받는 예외 클래스
        try~catch(), throws Exception
*/
import java.io.*;
public class Exception9 {
    public static void main(String[] args)throws Exception{ //뜨로우 입섹션은 메소드안에
                                                                                          //기술해야한다.

                    FileInputStream fis = new FileInputStream("c:\\Test\\aaa.txt");    //FileNotFoundException
            fis.read();                                                                                            //IOException

            }
}



Given : ExceptionTest.java

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

//사용자 정의 예외클래스 만들기.
class MyException extends Exception{
    public String msg=null;
    public MyException(String msg){
        this.msg = msg;
    }
}

public class Exception10 {
    public int myMath(int a, int b) throws MyException{
        if(b==0){
            MyException my = new MyException("숫자 0으로는 나눌수 없습니다.");
            throw my;
        }else{
            int c =0;
            c = a/b;
            return c;
        }
    }
    public static void main(String[] args) {
        Exception10 ex = new Exception10();
        try{
            ex.myMath(20, 0);
        }catch(MyException e){
            System.out.println("예외발생 : "+ e.msg);
        }
    }
}