Fullstack-Study-241204-250625

커리큘럼(12-30/변경)

01. Java (v)
02. git 
03. Database
04. Jsp [Server]

05. 미니프로젝트 (3W)
06. HTML,CSS  
07. JS

08. SpringFramework , SrpingBoot
09. React JS [Front-end]
10. 중간프로젝트 (1M)
11. Linux 명령어
12. AWS 클라우드
13. DevOps - Docker
14. App - Android
15. 최종프로젝트 (1M)

인터페이스(Interface)

인터페이스 정리


예외처리

예외처리 방법

  1. try ~ catch ~ finally

    • try 블록에는 예외 발생 가능성이 있는 코드 작성
    • try 블록의 코드가 예외 발생 없이 정상 실행되면 catch블록은 실행되지 않음
    • try 내부에서 예외가 발생하면 즉시 실행을 멈추고 catch블록으로 이동하여 예외 처리 코드를 실행
    • 예외 발생 여부와 상관없이 항상 실행할 내용이 있다면 finally 블록 내부에 실행 내용 작성
    try{
    	예외 발생 가능성이 있는 코드
    } catch(Exception e){
    	// Exception은 모든 예외 처리
    	예외 발생시 실행될 코드
    } finally{
    	예외가 발생되지 않더라도 반드시 실행될 코드
    }
    
  2. 다중 catch

    • try 블록 내부는 다양한 종류의 예외가 발생할 수 있으며 예외가 여러가지 발생했다면 다중 catch 블록을 작성해 예외들을 처리
    • catch 블록은 위에서부터 차례대로 검색되므로 상위 예외 클래스의 catch 블록이 위에 있다면 하위 예외 클래스의 catch블록은 실행되지 않음
    • catch()괄호 안에 동일하게 처리하고 싶은 예외를 |로 연결하면 되며 이 방식을 사용할 때는 두 예외가 상속 관계가 있으면 안됨.
    try{
    	코드 작성 영역
    }catch(NumberFormatException | NullPointerException e ){
    	코드 작성 영역
    }
    
  3. throws

    • try ~ catch 구문이 예외가 발생했을 때 직접해결을 하고자 하는 코드라면 throws는 메서드나 생성자를 호출한 곳으로 예외를 떠넘기는 코드
    • 예외처리를 직접 수행하지 않고 메서드 호출자에게 예외를 던지는 방법
    • throws 키워드가 붙어있는 메서드반드시 try 블록 내부에서 호출되어야 하고 catch블록에서 떠넘겨 받은 예외를 처리해야 함
    • main도 throws 사용 가능
    public static void main(String args[]) throws NumberFormatException{
    	~~~
    }
    
  4. throw

    • 사용자가 직접 선언한 예외 클래스나 자바가 제공하는 예외 API에서 예외를 강제 발생시키려면 throw 키워드 이용
    • 예외를 강제 발생시키며 메서드를 강제 종료
  5. 사용자 정의 예외

    • 자바 표준 API에서 제공하는 예외 클래스만으로 다양한 종류의 예외를 표현 할 수 없음
    • 사용자 정의 예외 클래스는 Exception 클래스를 상속하여 사용
    • 사용자 정의 예외 클래스의 이름은 Exception으로 끝나는 것이 좋음
    • 일반적으로 기본생성자와 예외 메시지를 받는 생성자를 만듦
    public calss MyException extends Exception{
    	public MyException(){}
    
    	public MyException(String message){
    		super(message);
    	}
    	.....
    }