• 회원가입
  • 로그인
  • 구글아이디로 로그인

[Basic] JS - Errors - Throw and Try to Catch (에러 처리 구문)

목차

  1. try ... catch 구문  ※ JS 에러 처리 방식
  2. throw 구문
  3. Error Name 속성값 종류 (6가지)

 

※ 구문 정의. 

 

try 문 : 코드 블럭에서 에러 테스트.

catch 문 : 오류 처리 가능.

throw 문 : 사용자 정의 오류 생성 가능.

finally 문 : 결과에 관계없이 시도 후 catch 코드 실행 가능.

 

 

try ... catch 구문

 

try {

  테스트 할 코드 블럭

}

catch(err) {

  에러를 다룰 코드 블럭

}

 


[예제]

 

<p id="demo"></p>


<script>

try {

  aLert("홈짱닷컴 Homzzang.com");

}

catch(err) {

  document.getElementById("demo").innerHTML = err.message;

}

</script>

 

결과보기 (결과값: aLert is not defined)

※ alert 아닌 aLert 이라고 입력해 에러 발생.

 

※ JS 에러 처리 방식

 

1.

일반적으로 에러 발생 시, 멈춘 후 에러 메세지 출력.

JavaScript will throw an exception (throw an error).

 

2.

JS는 2가지 속성으로 구성된 Error 객체를 생성.

name : 에러 이름. ※ 오류 이름 (설정/반환)에 사용.

message : 에러 내용. ※ 오류 내용 (설정/반환)에 사용.

 

 

throw 구문

 

1.

사용자 정의 에러 구문 정의.

(예제)

if(x > 1000) throw "Too Big";  //  text 내밷기

throw 300;  // number 내밷기

 

2.

try..catch...문과 함께 사용 가능. (아래 예제 참고)



[예제]

 

<input id="num" type="text" placeholder="1 ~ 10 가능">

<button type="button" onclick="homzzang()">클릭</button>


<p id="message"></p>


<script>

function homzzang() {

  var message, x;

  

  msg = document.getElementById("message");

  msg.innerHTML = "";

  

  x = document.getElementById("num").value;

  try { 

    if(x == "")  throw "없음.";

    if(isNaN(x)) throw "숫자 아님."; 

    x = Number(x);

    if(x > 10)   throw "너무 큼.";

    if(x < 1)  throw "너무 작음.";

  }

  catch(err) {

    msg.innerHTML = "입력값 : " + err;

  }

  finally {

    document.getElementById("demo").value = "";

  }

}

</script>

 

결과보기

 

 

Error Name 속성값 종류 (6가지)

※ Error 객체의 name 속성에 의해 반환되는 값 종류임.

 

EvalError:  eval() 함수에서 오류 발생. (JS 새 버전에선 비사용. 대신, SyntaxError 사용.)

RangeError  :  "범위 벗어난" 숫자.

ReferenceError  :  잘못된 참조.

SyntaxError  :  구문 오류.

TypeError  :  유형 오류.

URIError  :  encodeURI () 오류.

 

※ 그외 비표준 Error 객체 속성 존재.



분류 제목
DOM JS - CSS - 스타일변경
DOM JS - Animation - 애니메이션 (= 동적효과 = 움직임효과)
DOM JS - Events - 이벤트 2
DOM JS - addEventListener() 메서드 ★★★★★ - 이벤트 걸기 (= addEventListen…
DOM JS - Navigation - 노드탐색 (= 요소탐색) ※ 텍스트노드복사
DOM JS - Node - 노드추가, 노드삭제, 노드변경 (= 노드생성, 노드제거, 노드교체)
DOM JS - Collection - HTML요소집합 (= HTML요소묶음)
BOM JS - Window BOM - 윈도우 브라우저객체모델 (BOM: Browser Object Model)
BOM JS - Window Screen 객체 - 화면객체 (= 스크린객체 = screen객체)
BOM JS - Window Location 객체 - 위치객체 (= 로케이션객체 = Location객체) ※ loc…
BOM JS - Window History 객체 - 이력객체 (= 히스토리객체 = History객체 = 뒤로가기 +…
BOM JS - Window Navigator 객체 - 브라우저객체 (= 네이게이터객체 = Navigator객체 =…
BOM JS - Popup Boxes - 팝업상자 (= 팝업박스 = Alert Box + Confirm box + …
BOM JS - Timing Events ★ - 시간간격 코드실행 (= 타이밍 이벤트 = 시간이벤트 = 일정시간별 …
BOM JS - Cookie (쿠키) 사용법 ★★★ - 쿠키 (설정・생성) / 쿠키 (읽기・얻기・가져오기) / 쿠…
AJAX JS - AJAX (아작스) 소개
AJAX JS - AJAX - XMLHttpRequest() 메서드 ★ - 객체생성 (= 아작스/에이잭스 핵심 = X…
AJAX JS - AJAX - open()/send() 메서드 ★ - 서버에 요청 보내기 (GET방식 vs POST방…
AJAX JS - AJAX - Server Response (서버응답) - 콜백함수 사용 예제
AJAX JS - AJAX - XML 아작스 예제 (= xml 데이터 불러와 표만들기)
4/67
목록
찾아주셔서 감사합니다. Since 2012