쭈꾸미
코드짜는 쭈꾸미
쭈꾸미
전체 방문자
오늘
어제
  • 분류 전체보기 (122)
    • Journal (54)
      • Today I Learned (44)
      • 후기&회고 (4)
      • 개인 프로젝트 (4)
      • 독서일기 (2)
    • HTML, CSS (5)
    • Javascript (32)
    • Typescript (2)
    • Git, Github (4)
    • Algorithm (1)
    • React, Next.js (14)
    • API, Database (6)
      • API (0)
      • Database (1)
      • GraphQL (2)
      • Rest-API (1)
    • React-Native (1)
    • ETC (2)
    • OS (1)
      • 우분투 Ubuntu (1)

인기 글

티스토리

hELLO · Designed By 정상우.
쭈꾸미

코드짜는 쭈꾸미

Javascript

[Javascript] 예외 처리 / try ... catch ... finally

2022. 1. 19. 14:56

예외처리란?

try...catch 문은 실행할 코드블럭을 지정하고 예외(exception)가 발생(throw)할 경우의 응답을 지정한다. 이러한 일련의 과정을 예외처리라고 부른다.

 

문법

try {
  try_statements
}
catch (exception_var) {
  catch_statements
}
[finally {
  finally_statements
}]

try_statements : 실행될 선언들

catch_statements : try블록에서 예외가 발생했을 때 실행될 선언들

exception_var : catch 블록과 관련된 예외 객체를 담기 위한 식별자

finally_statements : try 선언이 완료된 이후에 실행될 선언들. 이 선언들은 예외 발생 여부와 상관없이 실행된다.

 

예시

try { 
	const result = await createProduct({ 
        variables: { 
            seller: seller, 
            createProductInput: { 
                name: name, 
                detail: detail, 
                price: Number(price) 
            } 
        } 
    }) 
    // console.log(result.data.createProduct.message) 
    // 등록한 제품의 id 가져오기 
    const productId = result.data.createProduct._id 
    // console.log(productId) 
    router.push(`/05-08-dynamic-routed-product/${productId}`) 
} catch(error){ 
    console.log(error.message) 
}

위 코드는 graphQL을 이용해 데이터를 DB에 등록하는 코드의 일부로, try 안의 선언이 실행되지 않았을 경우 백엔드에서 지정해둔 에러 메시지를 콘솔에 출력하게 된다.

 

서비스를 운영하다 보면 백엔드 오류 등 외부의 원인으로 인해 API가 정상적으로 돌아가지 않을 수 있다. 그러한 경우 페이지 자체가 다운되는 것을 미연에 방지하고 에러 사실을 전달하기 위해 사용한다.

'Javascript' 카테고리의 다른 글

[Javascript] switch 조건문  (0) 2022.01.19
[Javascript] 삼항연산자 / 조건부 렌더링 / 옵셔널 체이닝  (0) 2022.01.19
[Javascript] 실무 반복문 map / filter  (0) 2022.01.18
[Javascript] 호이스팅이란? | Hoisting  (0) 2022.01.17
[Javascript] async와 await | 동기와 비동기 방식  (0) 2022.01.17
    'Javascript' 카테고리의 다른 글
    • [Javascript] switch 조건문
    • [Javascript] 삼항연산자 / 조건부 렌더링 / 옵셔널 체이닝
    • [Javascript] 실무 반복문 map / filter
    • [Javascript] 호이스팅이란? | Hoisting
    쭈꾸미
    쭈꾸미
    느리지만 확실하게 / 웹 프론트엔드 개발자 TIL : https://jooeun-k.github.io/TIL/

    티스토리툴바