예외처리
- 오류가 발생되었을 때 별도의 처리를 하거나 무시하고 프로그램을 실행하는 것
- 오류가 발생될 것으로 예상되는 문장을 try 블록에 코딩하고, try 블록에 코딩된 내용을 실행하다가 오류가 발생하면 더이상 try 블록의 내용을 실행하지 않고 해당 오류의 catch블록에 코딩된 내용을 실행
예외처리 문법
try{
예외가 발생할 것으로 예상되는 문장;
...
...
}
catch(error 객체){
예외가 발생했을 때 처리할 문장;
...
...
}
finally{
예외와 관계없이 무조건 실행할 문장;
}
예외처리 예제 1
function readFile(path) {
// throw new Error를 통해 에러를 강제로 발생 시킴
throw new Error('파일 경로를 찾을 수 없음.');
return '파일객체';
}
function processFile(path) {
let content;
try{
content = readFile(path);
}
catch(error){
console.log(error);
content = "기본내용";
}
finally{
console.log("에러의 발생 여부와 관계없이 실행할 문장을 작성");
}
const result = "결과: " + content;
return result
}
const result = processFile('경로');
console.log(result);
재귀 함수에서 예외처리
function func1() {
console.log("func1이 호출되었어요!");
// throw new Error를 통해 에러를 강제로 발생시킴
throw new Error('에러 발생!');
}
function func2() {
try{
func1();
}
catch(error){
console.log("예외처리 완료!");
throw error;
}
}
function func3() {
try{
func2();
}
catch(error){
console.log("여기에서 예외처리 또 완료!");
}
}
func3();
console.log("프로그램이 정상적으로 종료되었습니다!");
'JavaScript' 카테고리의 다른 글
39. 옵셔널 체이닝(Opthional Chaining) (0) | 2023.04.14 |
---|---|
38. 프로미스(Promise) (0) | 2023.04.13 |
36. 맵(map) (0) | 2023.04.13 |
35. 세트(Set) (0) | 2023.04.13 |
34. 스프레드(Spread) (0) | 2023.04.12 |