티스토리 뷰

프로그래밍/JavaScript

사용자 정의 오류

메모하는습관 2009.07.14 17:27

javascript 에서의 사용자 정의 오류를 사용하는 방법에 대해서 소개 하겠다.
사용자 정의 오류를 사용하기 위해서는 Error 객처를 사용하면 된다.
그렇다면 Error 객체에 대해서 간략하게 알아 보도록 하자.

 Error 객체

 설명 : 오류에 대한 정보를 포함 한다.

 인수
 - number : 선택적 요소. 오류에 할당되는 숫자 값이다. 생략하면 0이 할당 된다.
 - description : 선택적 요소. 오류를 설명하는 짧은 문자열. 생략하면 빈 문자열이 할당 된다.



IE에서 스크립트 오류를 발생 시키는 간단한 예제 코드를 보자.

function errorTest()
{
	throw new Error(0, "오류발생");
}

errorTest();

위 코드와 같이 하면 errorTest() 함수를 호출 하였을때 IE에서 스크립트 오류를 발생 시키고
0번의 오류 코드와 "오류발생" 이라는 메시지를 출력한다.


다음은 조금 응용하여 나만의 Error 객체를 만들어 사용하는 간단한 예제 코드 이다.

// 배열이나 리스트 등에서 흔히 볼 수 있는 index참조 오류이다.
function IndexOutOfBoundsException(index, size)
{
	var m_sMsg =	"index가 범위를 벗어났습니다. \n" +
					"    index: "+index+", size: "+size;
	this.error =	new Error(0, m_sMsg);
}

// 파라미터의 타입이 잘못 들어왔을 경우 발생 시키는 오류이다.
function IllegalArgumentException(errMsg)
{
	this.error = new Error(0, errMsg);
}

// index 참조 오류 테스트
function IndexOutOfBoundsExceptionTest(idx, array)
{
	if(idx < 0 || idx >= array.length)
	{
		throw new IndexOutOfBoundsException(idx, array.length).error;
	}
	else
	{
		alert(array[idx]);
	}
}

IndexOutOfBoundsExceptionTest(3, new Array(1, 2, 3));

// 파라미터 타입 오류 테스트
function IllegalArgumentException(value)
{
	if(typeof(value)! = "number")
	{
		throw new IllegalArgumentException('value는 number만 가능합니다').error;
	}
	else
	{
		alert(value);
	}
}

IllegalArgumentException("가나다");

위와 같이 자기만의 오류도 만들어서 사용할 수 있다.

댓글
댓글쓰기 폼