[자바 스크립트] 예외와 예외처리

남한탐정김정은·2023년 2월 7일
0

자바스크립트

목록 보기
31/32
post-thumbnail

예외와 예외처리

프로그램을 실해하는 동안 문제가 발생하면 자동으로 프로그램이 중단된다.
이렇게 발생한 오류를 예외(Exception)이라고 한다.
이러한 오류를 대처할 수 있게하는 것이 예외처리(Exception Handling)라고 한다.
예외처리에는 기본 예외처리와 고급 예외처리가 있다.

기본 예외 처리

function callTenTimes(callback){
    if (let i=0; i<3; i++){
            callback();
        }
}

//정상진행
callTenTimes(function(){
    console.log('안녕하세요');
});

//예외 발생 시키기, 
callTenTimes();

실행 결과

안녕하세요
안녕하세요
안녕하세요
에러뿜뿜
//undefined 자료형을 일반적인 객체나 함수처럼 다루었기 때문에 예외가 발생한다.

//예외처리
function callTenTimes(callback){
    if (typeof(callback) == "function"){ //callback이 함수 자료형일 때만 호출됨
        for(let i=0;i<3;i++){
            callback();
        }
    }
    else{
        console.log('매개변수 callback을 함수로 지정해주세요.');
    }
}

//정상진행
callTenTimes(function(){
    console.log('안녕하세요');
});

//예외 발생 시키기
callTenTimes();

실행결과

안녕하세요
안녕하세요
안녕하세요
매개변수 callback을 함수로 지정해주세요.


고급 예외 처리

고급 예외 처리는 try, catch, finally로 예외를 처리한다.
기본적인 형태는 아래와 같다.

try{
	//예외 발생하면
}catch(exception){
	//여기서 처리
}finally{
	//여기 내용은 예외와 상관없이 무조건 실행
}
//catch와 finally는 필요가 없다면 생략할 수 있다.

배열의 크기를 음수로 잡아 예외 발생

const arr = new Array(-2000)

실행결과

에러뿜뿜

try{
	const arr = new Array(-2000)
}catch(exception){
	console.log(`${exception.name} 예외가 발생했습니다.);
}finally{
	console.log('finally 구문이 살행되었습니다.')
}

실행 결과

RangeError 예외가 발생했습니다.
finally 구문이 실행 되었습니다.

profile
남한에 놀러온 김..

0개의 댓글