본문 바로가기
javascript

try-catch, throw, strict 모드

by rami_ 2021. 9. 6.

try-catch

형태 : try 블록 catch(식별자) 블록

 try 블록 finally 블록

 try 블록 catch (식별자) 블록 finally 블록

try문에서 예외 발생을 인식.

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

var value;

try {

 value = ball;

} catch(error) {

log("catch 실행")

}; //value의 값을 정해주지 않아 try 블록에서 에러가 발생하고 catch문으로 내려옴. catch 실행

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

var sports;

 try { sports = ball;

 } catch(error){

 log("catch 실행");

 } finally {

 log("finally 실행");

}; //catch 실행 finally 실행

 

throw 

형태 : throw 표현식;

명시적으로 예외를 발생시킴.

예외가 발생하면 catch실행.

try {

 throw "예외 발생시킴";

 var sports = "스포츠";

} catch(error) {

 log(error);

 log(sports);

 }; // "throw"표현식에 문자열을 작성한 형태. throw를 만나면 에러가 발생해 catch 블록 실행됨. throw 아래의 코드는 실행하지 않음. catch(error)의 error에 throw표현식의 문자열이 설정됨. 예외 발생시킴 undefined

 

try {

 throw {

  msg : "예외 발생시킴"

  bigo : "임의의 이름 사용 

 };

}; catch(error) {

 log(error.msg);

 log(error.bigo);

}; // 예외 발생시킴 임의의 이름사용

 

try {

 throw new Error("예외 발생시킴");

 }; catch(error){

 log(error.message);

}; // 예외 발생시킴

 

 

strict모드

형태 : "use strict"

엄격하게 JS 문법 사용의 선언

코딩실수를 예방하기 위해 사용.

작성한 위치부터 적용.

"use strict"

try {

 book = "변수 선언하지 않음";

 log(book);

} catch(error) {

 log(error.message);

}; // 'var'를 생략했기 때문에 에러 발생. 

'javascript' 카테고리의 다른 글

object  (0) 2021.09.09
함수, return, 주석  (0) 2021.09.08
if, debugger, while, do-while, for, break, continue, switch  (0) 2021.09.06
문장  (0) 2021.09.05
콤마, 그룹핑, 논리 연산자, 조건 연산자, 연산자 우선순위  (0) 2021.09.05