Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- webkitrecognition
- cmd명령어
- R데이터분석
- PostgreSQL
- 자바스크립트날짜형식
- 이행은이미다른
- 안드로이드
- 다른테이블에속해있습니다
- 개발
- forof문
- speechAPI
- Android
- 장고웹프로젝트
- 자바스크립트forinforof차이
- 오류종류
- 자바스크립트날짜
- speechtoText
- 자바스크립트for문
- 청소년복지론
- 장고웹
- 자바스크립트수학
- 장고
- javaScriptError
- 장고프로젝트
- 이행은이미다른테이블에속해있습니다
- 사례관리
- sqlite
- Python
- 파이썬
- 자바스크립트날짜get
Archives
- Today
- Total
EMDI는 지금도 개발중
JavaScript : 자바스크립트 Errors (Try, Catch, Finally, Throw) 본문
▶ JavaScript Errors
- Try : 실행할 코드 블록을 정의합니다.
- Catch : 오류를 처리하기 위한 코드 블록을 정의합니다.
- Finally : 명령문 결과와 관계없이 실행할 코드 블록을 정의합니다.
- Throw : 사용자 정의 오류를 정의합니다.
// 일반적인
try {
Block of code to try
}
catch(err) {
Block of code to handle errors
}
<p>Please input a number between 5 and 10:</p>
<input id="demo" type="text">
<button type="button" onclick="myFunction()">Test Input</button>
<p id="p01"></p>
<script>
function myFunction() {
const message = document.getElementById("p01");
message.innerHTML = "";
let x = document.getElementById("demo").value;
try {
if(x == "") throw "is empty"; //빈 값인 경우
if(isNaN(x)) throw "is not a number"; // 숫자가 아닌 다른 값을 넣을 경우
x = Number(x);
if(x > 10) throw "is too high"; // 10보다 큰 경우
if(x < 5) throw "is too low"; // 5보다 작은 경우
}
catch(err) {
message.innerHTML = "Input " + err;
}
finally {
document.getElementById("p01").innerHTML = document.getElementById("demo").value;
document.getElementById("demo").value = "";
}
}
</script>
▶ Error 오류
Error Name | Description |
EvalError | eval()함수에서 에러 |
RangeError | 범위를 벗어난 숫자 발생 |
ReferenceError | 잘못된 참조 |
SyntaxError | 구문 오류 |
TypeError | 유형 오류 |
URIError | encodeURI()에서 오류 |
// RangeError
let num = 1;
try {
num.toPrecision(500); // A number cannot have 500 significant digits
}
catch(err) {
document.getElementById("demo").innerHTML = err.name;
}
// referenceError
let x = 5;
try {
x = y + 1; // y cannot be used (referenced)
}
catch(err) {
document.getElementById("demo").innerHTML = err.name;
}
// SyntaxError
try {
eval("alert('Hello)"); // Missing ' will produce an error
}
catch(err) {
document.getElementById("demo").innerHTML = err.name;
}
// TypeError
let num = 1;
try {
num.toUpperCase(); // You cannot convert a number to upper case
}
catch(err) {
document.getElementById("demo").innerHTML = err.name;
}
// URIError
try {
decodeURI("%%%"); // You cannot URI decode percent signs
}
catch(err) {
document.getElementById("demo").innerHTML = err.name;
}
'프론트 > JavaScript' 카테고리의 다른 글
JavaScript : map, filter (0) | 2024.01.08 |
---|---|
JavaScript : for문, forEach문 차이점 (0) | 2023.04.26 |
JavaScript : 자바스크립트 Set(), Map() (0) | 2022.03.15 |
JavaScript : 자바스크립트 조건문, 반복문 (0) | 2022.03.03 |
JavaScript : 날짜함수(Date Get Methods), 공식(Math) (0) | 2022.03.01 |
Comments