Error
객체는 런타임 오류가 발생했을 때 사용된다. 일반적으로 코드를 작성할 때 에러가 발생하기
쉬운데 대표적으로 코드상의 존재하지 않은 변수를 정의했을 때 나타나는 ReferenceError
,
유효한 자료형이 아님을 나타내는 TypeError
, 변수나 텍스트 구문을 잘 못 작성했을 때 나타나는 SyntaxError
가 존재한다
일반적으로 오류는 우리가 잘 못 작성했을 때 나타나는 거지만 의도적으로 Error
를 사용하여 코드를 작성할 수 있다
그런 상황의 대표적인 예로는 회원가입 중 아이디, 비밀번호와 같은 정보란을 입력할 때 값이 틀릴때 또는 중복이 될 때 사용될 수 있다.
// Error 생성자
const id = new Error('아이디가 중복되어 있습니다.');
// throw 키워드 이용이 가능하다
throw new Error ('에러가 발생했다')
try{
// 실행할 코드
}catch (error){
// 에러가 발생했을 때 동작할 코드
}
Error 가 발생하면 그 즉시 코드는 작동이 되지않는다 그걸 방지하기 위해 try & catch
문을 이용한다면
에러가 나왔을 때 코드를 동작할 수 있게 만들 수 있다. try
부분에선 실행될 코드를 작성하고 catch
부분에선
코드가 에러가 나왔을 때 실행할 코드를 작성한다. 다만 try
부분에서 에러가 나오는 줄 전까지는 코드가 출력되어
확인이 필요하다.
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
변수를 사용할 때 변수를 그 안에 적어서