본문 바로가기
백엔드/Java

<FAST CAMPUS>자바 웹개발-객체지향 프로그래밍

by 고구마는호박고구마 2021. 1. 25.

<객체지향 프로그래밍 63장~66장>

 

예외와 예외처리

 

       오류란 무엇인가?

              - 컴파일 오류 : 프로그램 코드 작성 중 발생하는 문법적 오류

              - 실행 오류 : 실행 중인 프로그램이 의도 하지 않은 동작을 하거나

                                프로그램이 중지되는 오류

              

                자바는 예외 처리를 통하여 프로그램의 비정상 종료를 막고 log를 남길 수 있다.

 

 

 

 모든 예외 클래스의 최상위 클래스는 Exception 클래스

예외문 처리 문법

 

 

 try-catch 문으로 예외처리하기

 

종료되는 문을 예외처리에서 catch로 빼와서 출력을하고 죽지않고 종료가 된다.

finally  - 밑에 코드를 보면 스트림클래스를 열면 무조건 죽든 살든 그 스트림은 닫아야한다 (fis.close)

            그래서 catch문이 여러개가 있는경우 있는 문 마다 다 넣어줘야 하는데 finally문장은 무조건 실

            행 되는 문장이여서 하나의 문장으로 스트림파일을 닫을 수 있다. 

 

 

 

 

다양한 예외처리

           예외 처리 미루기  ( throws ) 

                   throws를 사용하여 예외처리 미루기

                   try{} 블록으로 예외를 처리 하지 않고, 메서드 선언부에 throws를 추가

                   예외가 발생한 메서드에서 예외 처리를 하지 않고 이 메서드를 호출한 곳

                   에서 처리 한다는 의미 

 

loadClass 에서 먼저 class를 선언하고 스티림을 선언하는데 받은게 없어서 오류를 처리하려는데 throw로 선언해주면 그 오류처리를 넘기겠다는 의미이다. 그래서 main으로 넘어가서 try catch 문에서 오류가 처리가 되고 위 코드에서는 try문에서 정상적으로 처리가 되어 오류가 안나고 끝난걸 확인 할 수 있다.

 

사용자 정의 예외 

 

 

매개변수로 전달된 아이디가 null 이거나 8이하 20자 이상인 경우 예외를 발생 시키는

예외 클래스를 만들고 예외 발생시키기

 

이셉션을 상속하여 이셉션이 들어오면 이셉션으로 메세지를 보내 toString 메시지가 나오도록 설정
throw를 설정하여 설정에 맞게 들어오면 IDFormationException 클래스로 미루어 예외를 처리한다.

 

 

자바 입출력 스트림

              

                 입출력 스트림이란 ? 

           

 

            입출력 스트림 3가지 구분

 

                      1. I/O 대상 기준 : 입력 스트림, 출력 스트림

                      2. 자료의 종료 : 바이트 스트림, 문자 스트림

                      3. 스트림의 기능 : 기반 스트림, 보조 스트림 

 

 1. I/O 대상 기준 : 입력 스트림, 출력 스트림

 

 2. 자료의 종료 : 바이트 스트림, 문자 스트림

   3. 스트림의 기능 : 기반 스트림, 보조 스트림

댓글