본문 바로가기

Java 기본 문법 - 참조 서적 [이것이 자바다 - 한빛미디어]/8. 예외 처리

(5)
5. Java 자바 [예외 처리] - 사용자 정의 예외와 예외 발생 시키기, 예외 정보 얻기 자바 표준 API 에서 제공하는 예외 클래스만으로는 다양한 종류의 예외를 표현할 수 없다. 예) 은행 업무 처리에서 잔고 보다 많은 출금 요청 시, 오류!! 잔고 부족 예외는 표준 API에 존재하지 않는다. 어플리케이션 예외 : 개발자가 직접 정의해서 만들어야 하므로 사용자 정의 예외라고도 한다. 1. 사용자 정의 예외 클래스 선언 컴파일러가 체크하는 일반 예외로 선언하거나, 컴파일러가 체크하지 않는 실행 예외로 선언할 수 있다. 일반 예외로 선언 시 : Exception 상속 실행 예외로 선언 시 : RuntimeException 상속 형태 public class XXXException extends [ Exception | RuntimeException ] { public XXXException() ..
4. Java 자바 [예외 처리] - 예외 떠넘기기 throws 메소드 내부에서 예외가 발생할 수 있는 코드를 작성 시 try - catch 블록으로 예외를 처리하는 것이 기본이지만, 경우에 따라 메소드를 호출한 곳으로 예외를 떠넘길 수 있다. throws 키워드 : 메소드 선언부 끝에 작성, 메소드에서 처리하지 않은 예외를 호출한 곳으로 떠넘기는 역할을 한다. 형태 리턴타입 메소드명(매개변수선언1, . . . ) throws 예외클래스1, 예외클래스2, . . . { . . . } 발생할 수 있는 예외를 종류별로 throws 뒤에 나열하는 것이 일반적이지만, Exception (상위 예외 클래스) 만으로 모든 예외를 간단히 떠넘길 수 있다. 형태 리턴타입 메소드명(매개변수선언1, . . . ) throws Exception { . . . } throws 키워드가 붙..
3. Java 자바 [예외 처리] - 자동 리소스 닫기 try - with - resource 문 자바 7 버전 부터 새로 추가 된 try - with - resource 를 사용하면 예외 발생 여부와 상관 없이 사용했던 리소스 객체 ( 각종 입출력 스트림, 서버 소켓, 소켓, 각종 채널 등..) 의 close() 메소드를 호출하여 안전하게 리소스를 닫아준다. 리소스 : 데이터를 읽고 쓰는 객체 ex) 파일의 데이터를 읽는 FileInputStream 객체, 파일에 쓰는 FileOutputStream 리소스 객체 자바 6 이전 버전의 코드 FileInputStream fis = null; try { fis = new FileInputStream("file.txt"); . . . } catch(IOException e) { . . . } finally { if(fis != null) { try { fi..
2. Java 자바 [예외 처리] - 예외 처리 코드 try-catch-finally 문 프로그램에서 예외가 발생한 경우, 프로그램의 갑작스러운 종료를 막고 정상 실행을 유지할 수 있도록 처리하는 코드를 예외 처리 코드라고 한다. 자바 컴파일러는 소스 파일을 컴파일 할 때 일반 예외가 발생할 가능성이 있는 코드를 발견하면, 컴파일 오류를 발생시켜서 개발자가 강제적으로 예외 처리 코드를 작성하도록 요구한다. 하지만 실행 예외는 컴파일러가 체크하지 않기 때문에, 개발자의 경험을 바탕으로 작성해야 한다. 예외 처리 코드는 try - catch - finally 블록을 이용한다. try - catch - finally 블록은 생성자 내부와 메소드 내부에서 작성되어 일반 예외와 실행 예외가 발생할 경우 예외 처리를 할 수 있게 한다. try 블록에는 예외 발생 가능성이 있는 코드가 위치한다. try ..
1. Java 자바 [예외 처리] - 예외와 예외 클래스 에러(Error) 컴퓨터의 하드웨어 오동작 또는 고장으로 인해 응용프로그램 실행 오류가 발생하는 것. 에러는 JVM 실행에 문제가 발생했다는 의미이므로 JVM 위에서 실행되는 프로그램도 실행 불능이 된다. 예외(Exception) 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류. 예외가 발생하면 프로그램은 곧바로 종료된다. (에러와 동일) 예외의 종류 예외에는 2 가지 종류가 있다. - 일반 예외(Exception) - 실행 예외(RuntimeException) - 일반 예외 (컴파일러 체크 예외) 자바 소스를 컴파일하는 과정에서 예외 처리 코드가 필요한 지 검사한다. 예외 처리 코드가 없다면 컴파일 오류가 발생한다. - 실행 예외 컴파일 과정에서 예외 처리 코드를 검사하..