js
JS - 오류 예외처리
자바스크립트에서 오류를 만날 때 어떻게 처리할 것인지를 설명합니다. 보통 오류를 만나면 프로그램 전체가 동작하지 않는 사태가 벌어지기 때문에 오류 예외처리를 통해 오류를 제외한 나머지 코드를 정상적으로 동작하게 할 수 있습니다.
형식은 다음과 같습니다.
여기서 finally 는 오류와 상관없이 실행되는 구문이며 생략이 가능합니다.
예외처리는 중첩 사용이 가능합니다.
이제 오류를 직접 만들어 try catch 를 작성해 보도록 합니다.
선언하지 않은 변수를 사용했을 때 어떤 오류가 발생하는지 살펴 보도록 합시다.
구 문 | 설 명 |
---|---|
throw | 사용자가 오류를 직접 발생시키는 에러 |
try | 오류를 만나면 catch 로 넘어갑니다. |
catch | 오류에 대한 내용을 담고 있는 구문
|
finally | try 오류 발생 여부와 상관없이 무조건 실행되는 구문 |
형식은 다음과 같습니다.
try{ ... }catch(e){ ... }
finally{ ... }
try{ ... }
finally{ ... }
여기서 finally 는 오류와 상관없이 실행되는 구문이며 생략이 가능합니다.
try{ ... }catch(e){ ... }
예외처리는 중첩 사용이 가능합니다.
try{ ... }
catch(e){
try{ ... }catch(e){
...
}
}
이제 오류를 직접 만들어 try catch 를 작성해 보도록 합니다.
<script>
function a(){
throw "오류입니다.";
}
try{
a();
}catch(e){
alert("함수에 문제가 있습니다.");
}finally{
alert("오류와 상관없이 실행되는 구문입니다.");
}
</script>
선언하지 않은 변수를 사용했을 때 어떤 오류가 발생하는지 살펴 보도록 합시다.
<script>
try{
aaaa;
}catch(e){
alert("오류 이름:" + e.name + "\n" + "오류 내용:" + e.message);
}
/*
오류 이름: ReferenceError
오류 내용: aaaa is Nnot defined
*/
</script>
<script>
try{
var a = Array(-1);
}catch(e){
alert("오류 이름:" + e.name + "\n" + "오류 내용:" + e.message);
}
/*
오류 이름: RangeError
오류 내용: Invalid array length
*/
</script>
0 댓글