[JS] Syntax | 17. 예외처리

2025. 4. 6. 09:52·Language/JavaScript

JavaScript에서도 동일하게 try-catch 구문을 사용해 예외처리를 할 수 있습니다.

 

try 문 안에서 진행되던 코드에 에러가 발생하면, 그 지점에서 코드 실행은 중단되고 catch 문의 코드로 넘어갑니다.

try {
    // 코드
}
catch (error) {
    // 코드에서 에러가 발생하면, 중단하고 여기 코드가 실행됩니다.
}

error

catch에서 받는 error 매개변수는 에러를 설명하는 error 객체입니다.

 

error 객체는 에러 이름(name)과 에러 내용(message)로 이루어져 있으며, catch 문에서 선언 시 이름은 임의로 지어도 됩니다.

try {
    // ...
}
catch (error) {
    console.log(error.name);
    console.log(error.message);
}

웹 브라우저 콘솔에 붉은 색 에러 메세지를 띄워야 한다면, 다음과 같이 log 대신 error를 사용하면 됩니다.

try {
    // ...
}
catch (error) {
    console.error(error);
}

throw

구문 중간에 의도적으로 에러를 발생시키려면 throw 구문을 사용하면 됩니다.

throw new Error('error message');

finally

만약 try, catch와 상관 없이 공통적으로 실행되어야 하는 코드가 있다면, finally 구문을 선택적으로 추가할 수 있습니다.

try {
    // 주로 실행되는 구문
} catch (error) {
    // 에러가 발생했을 때 실행될 구문
} finally {
    // try 또는 catch가 끝나면 실행될 구문
}

※ try-catch는 syntax error를 다루지 않습니다

728x90

'Language > JavaScript' 카테고리의 다른 글

[JS] Syntax | 19. require & import - 외부 파일 불러오기  (0) 2025.09.19
[JS] Syntax | 18. 배열 메소드 정리  (0) 2025.04.07
[JS] Syntax | 16. 구조분해(Destructuring)  (0) 2025.04.05
[JS] Syntax | 15. Optional chaining - 속성 존재여부 확인하기  (0) 2025.04.04
[JS] Syntax | 14. 계산된 속성명 (computed property name)  (0) 2025.04.04
'Language/JavaScript' 카테고리의 다른 글
  • [JS] Syntax | 19. require & import - 외부 파일 불러오기
  • [JS] Syntax | 18. 배열 메소드 정리
  • [JS] Syntax | 16. 구조분해(Destructuring)
  • [JS] Syntax | 15. Optional chaining - 속성 존재여부 확인하기
Rayi
Rayi
  • Rayi
    아카이브
    Rayi
  • 전체
    오늘
    어제
    • 분류 전체보기 (276)
      • CS (40)
        • CV (2)
        • PS (34)
      • Reveiw (18)
        • Paper (18)
        • Github (0)
      • ML (8)
        • Pytorch (5)
      • Language (59)
        • Python (8)
        • JavaScript (32)
        • TypeScript (16)
        • C++ (3)
      • IDE (12)
      • Git (13)
      • Frontend (77)
        • React (8)
        • ReactNative (6)
        • SolidJS (20)
        • CSS (12)
      • Backend (44)
        • DB (18)
        • Node.js (11)
      • UI (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    expo
    mongo
    figma
    Git
    react
    PRISMA
    SOLID
    modal
    python
    Three
    GAN
    CSS
    review
    backend
    CS
    js
    CV
    nodejs
    DB
    vscode
    ps
    postgresql
    PyTorch
    ReactNative
    API
    deploy
    frontend
    ML
    ts
    Express
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
Rayi
[JS] Syntax | 17. 예외처리
상단으로

티스토리툴바