*[예외처리 란?]
- FileOutputStream out = new FileOutputStream(); 생성자 객체를 정의할시
- Unhandled exception type FileNotFoundException 을 발생 ===> 즉 JVM에게 보고한다.
- 오류 발생시 자신이 처리하지않고 호출자에게 떠 넘긴다.
- 호출자에게 오류를 넘기기 위해서 메서드 선언부에 어떤 오류를 넘길지 선언해야한다.
- 예외처리 방법2 try...catch 문법을 사용하여 오류를 적절히 처리하여 시스템이 멈추지 않게 한다.
- java.class -
/*
try{
…....
}catch(파라미터 선언){
…....
}......
* 예외처리 방법3
- 예외 발생 시 ‘방법2’와 같이 적절한 처리를 한다.
- 추가적으로 보고도 한다.
- 예외발생 상황을 호출자에게 전달할 필요가 있을때
- 문법
- java.class -
try{
...
}catch(파라미터 선언){
throws 보고;
}catch(파라미터 선언){
throws 보고;
}finally{
예외처리
}
- finally 블럭은 try......catch 블럭을 탈출하기 전에 반드시 수행된다.
** throw 명령어로 던질 수 있는 인스턴스는 오로지 Throwable 만 가능하다.
- Throwable 클래스
- 예외 상황을 보고할 때 사용하는 클래스
- 보통 예외 상황이 발생했을 때의 정보를 담고 있다.
- throw 명령어로 해당 객체를 호출자에게 전달한다.
- 두 타입의 자식 클래스가 있다.
1) Exception 자식 클래스
- 애플리케이션에 작업 도중에 발생하는 오류를 표현
- 이런 예외를 보고 받는 호출자는 반드시 오류 처리를 해야 한다.
만약 오류 처리를 하지 않으면, 컴파일 시 오류가 발생한다.
- RuntimeException
: Error와 마찬가지로 호출자에게 던졌을 때
오류를 잘 받는지 컴파일러가 검사하지 않는다.
2) Error 자식 클래스
- JVM 시스템에서 발생하는 오류를 표현
- 이런 예외를 보고 받는 호출자는
오류를 처리하지 않아도 컴파일 오류가
발생하지 않는다.
# 데이터를 저장하기위해서 서버의 하드디스크에 저장
- 운영 체제(OS) == > 하드 디스크를 엑세스 할수있는 권한을 가지고 있음
- 운영체제 (OS)
*java는 운영체제에 기생한다.
*java IO 패키지에 등록 되어있다.
- FileOutputStream / FileWriter
- FileInputStream / FileReader
[ 파일 스트림의 구조도]
$ 드라이버 : 각 시스템을 제어할수있는 기능 (즉 function) 을 만
들어 놓은 시스템
- MS 윈도 운영체제에서 부터 시작
$ Stream API ⇒ 장비와 일관된 방법으로 데이터를 읽고 쓰기 위해 정의해
놓은 인터페이스를 사용할수 있게 가이드 라인을 제시해 놓은 기능
# Stream API를 JAVA에서는 Stream 클래스라고 불리우며
해당 Stream 인터페이스를 사용할수 있다.
$추상 클래스
- sub 클래스들에 공통 속성, 기능들을 상속해주는 역활
- 직접 사용불가
- new 인스턴스 사용 불가 => (new OutputStream(); ) X 안됨.
같은 이름을 사용하는
[Data Processing Stream Class ]
: 중간에서 데이터를 가공하는 역활
- 중간에서 데이터를 제외한 모든 클래스
- 위의 클래스를 제외한 모든 클래스
- 구분하는 방법: 생성자에서 다른 스트림을 요구한다면
- 이것은 혼자 입.출력을 할 수 없다는 뜻이기 때문에
- 데이터 가공 클래스리 할 수있다.
[Data Sink Stream 의 다양한 클래스들]
**참조 URL
댓글 없음:
댓글 쓰기