Programing/JAVA

JAVA :: 자바 :: 예외처리 :: exception :: try :: catch :: finally :: 사용자 정의 예외클래스 만들기

Dongkkase 2008. 10. 16. 13:43
반응형
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);
        }
    }
}





반응형