벡엔드에 데이터를 요청하면(mutation, query)
항상 받아올 수 있는 것이 아니다.
이때 에러가 발생하여 스크립트가 즉각 중단되는 것을 막기 위하여
⭐️ 성공과 실패에 대한 처리를 나누어 코드를 작성해주어야 한다!
👉 try 부분에는 성공시 실행사항 (코드실행)
👉 catch 부분에는 실패시 처리 내용을 작성한다. (에러발생)
try - catch를 이용하면 런타임 에러를 처리할 수 있다.
try {
await createBoard({
variables: {
name: "준이",
age: 24,
contents: "Hello World!",
}
})
} catch(error) {
alert(error.message)
// 경고창(실패했습니다.) => 백엔드에서 보내는 실패 메시지
} finally {
// 성공, 실패 여부와 상관없이 마지막에 실행되는 부분 (생략 가능)
}