Error 객체는 런타임 오류가 발생했을 때 사용된다. 일반적으로 코드를 작성할 때 에러가 발생하기

쉬운데 대표적으로 코드상의 존재하지 않은 변수를 정의했을 때 나타나는 ReferenceError ,

유효한 자료형이 아님을 나타내는 TypeError , 변수나 텍스트 구문을 잘 못 작성했을 때 나타나는 SyntaxError 가 존재한다

일반적으로 오류는 우리가 잘 못 작성했을 때 나타나는 거지만 의도적으로 Error 를 사용하여 코드를 작성할 수 있다

그런 상황의 대표적인 예로는 회원가입 중 아이디, 비밀번호와 같은 정보란을 입력할 때 값이 틀릴때 또는 중복이 될 때 사용될 수 있다.

// Error 생성자

const id = new Error('아이디가 중복되어 있습니다.');

// throw 키워드 이용이 가능하다

throw new Error ('에러가 발생했다')

Try Catch


try{
	// 실행할 코드
}catch (error){
	// 에러가 발생했을 때 동작할 코드
}

Error 가 발생하면 그 즉시 코드는 작동이 되지않는다 그걸 방지하기 위해 try & catch 문을 이용한다면

에러가 나왔을 때 코드를 동작할 수 있게 만들 수 있다. try 부분에선 실행될 코드를 작성하고 catch 부분에선

코드가 에러가 나왔을 때 실행할 코드를 작성한다. 다만 try 부분에서 에러가 나오는 줄 전까지는 코드가 출력되어

확인이 필요하다.

try & catch 활용하기

function printMembers(members){
	try{
		for (const member of members){
			console.log(member);
		}
	}catch(err) {
		console.log(err);
		alert(`${err.name}가 발생하여 콘솔창을 확인하세요`)
	}
}

const teamA = ['a', 'b', 'c', 'd']
printMembers(teamA)

const teamB = { name : 'code'} // error 발생 catch 구문 작동
printMembers(teamB)

const teamC = ['c', 'e', 'ee', 'dd']
printMembers(teamC)

try & catch 는 주의할 점이 블록스코프가 존재하여 const, let 변수를 사용할 때 변수를 그 안에 적어서