JavaScript

[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 객체 속성 존재.


방문 감사합니다. (즐겨찾기 등록: Ctrl + D)

분류 제목
Basic JS - String Methods - JS문자열메서드
Basic JS - Number - JS숫자
Basic JS - Number Method - JS숫자메서드
Basic JS - Math 객체 - JS수학객체 (= JS산수객체 = Math객체 = Math Object = 매스 …
Basic JS - Dates - JS날짜
Basic JS - Date Method - JS날짜메서드
Basic JS - Array - JS배열 ★★★★★
Basic JS - Array Method - JS배열메서드
Basic JS - Sorting Array - JS배열정렬
Basic JS - Booleans() 메서드 - JS참거짓판단 (= JS참거짓메서드 = JS블린메서드 = JS불린즈메…
Basic JS - Comparison and Logical Operator - JS비교연산자 / JS논리연산자
Basic JS - if...else 조건문 구문 ★ (= 이프 엘스 조건문 = 이프문) ※ 시간 조건문
Basic JS - Switch 조건문 구문 (= 스위치문 = 스위치조건문)
Basic JS - for반복문 ★★★★★ - (JS포반복문 = for문 = JS포문) ※ 가변 배열키
Basic JS - While 반복문 구문 (= While문 = While반복문 = 와일문 = 와일반복문)
2/4
목록
  • 채팅방
  • 필독
1. 채팅창 헤드에서 접속자 확인 2. 닉네임 클릭해 1:1 채팅 가능 3. 닉네임 클릭해 귓속말 가능 4. 닉네임 클릭해 호출하기 가능 5. 우하단 클릭해 환경 설정 가능 6. 의뢰글 작성 후 의뢰 상담 가능 7. 질문글 작성 후 질문 상담 가능 8. 채팅방에 개인정보 입력 금지 9. 채팅방에 광고 욕설 비방 금지
 홈  PC버전 로그인 일본어
웹디자인언어
서버관리언어
고급코딩언어
그누보드 3
제작의뢰
Q&A
커뮤니티 1
웹유틸
회원센터
홈짱 PC버전 로그인