try-catch, throw

try-catch

- 형태
try 블록 catch(식별자) 블록
try 블록 finally 블록
try 블록 catch(식별자) 블록 finally 블록
  • try 문에서 예외 발생을 인식

  • 예외가 발생하면 catch 블록 실행

  • finally 블록은 예외 발생과 관계없이 실행

  • 예시
    1) try-catch
    ** 서버에서 데이터를 가져올 때 즉 통신을 할 때에는
    오류 방지 즉 보험을 들기 위해 try-catch문을 꼭 써준다.

      let value;
          try {
              value = ball;
          } catch(error) {
              log("catch 실행" )
          }// 실행결과 : catch 실행
        try 블록에서 ball 변수가 없어 에러 발생
        에러 발생 시 catch 블록 실행 
        파라 미터 error에 JS의 Error 오브젝트 설정
        error는 식별자로 임의의 이름 사용 가능하다.
        에러가 발생할 가능성이 있으면 반드시 try-catch를 사용해야한다.
	

  2) finally
  
  let sports;
  try{
  	sports = ball;
  } catch(errer){
  	log("catch 실행");
  } finally {
  	log("finally 실행");
  } // 실행결과 : catch 실행 finally 실행
  try에서 에러 발생하면 catch 블록 실행한 후 
  finally 블록 실행 
  finally 블록은 에러가 없어도 항상 실행한다.
  

throw

- 형태 : throw 표현식;
- 예외를 발생시킴
- 예외가 발생하면 catch 실행

try {
	throw "예외 발생"; // throw가 작성되어 에러가 발생함
    let food = "음식";
} catch(error) {	// 에러 발생으로 catch 블록 실행 throw 밑 코드 실행안함
	log(error);	// 예외발생
    log(food); // undefined
};

# 객체 형태로 보내기
try {
	throw {
 	yo : "예",
    yi : "외"
 };
} catch(error){
	log(error.yo); throw 객체 error안에 들어감 // 예
    log(error.yi); // 외
};

# error 오브젝트 생성
try {
	throw new Error("예외 메세지"); // error 객체에 프로퍼티 message로 설정됨
} catch(error){
	log(error.message); // 예외 메세지
}

좋은 웹페이지 즐겨찾기