try 문의 명령을 시도하다가 실패하면
catch문 실행(에러메시지-백엔드)
const callGraphqlAPI = async () => {
try{
const result = await callApi({
variables: { writer: writer, title: title, contents: contents },
}); //try는여기서 실패하면 catch로 점프한다.
console.log(result);
setData(result.data.createBoard.message);
alert("게시글 등록 성공!");
alert("상세페이지로 이동할까요?");
// 백틱안에 쓸땐 변수앞에 $를 붙인다. 템플릿 리터럴
router.push(`/05-08-dynamic-routed-input/${result.data.createBoard.number}`)
}catch(error){
alert(error.message)
}
}
자료를 조회(query)할때 - 이때는 로드되면 바로 가져와서 그리는 것. 실패할 수도 있음 - 실패하면 백엔드에서 설정해둔 에러메시지를 띄운다.
try{~
} catch{ ~
} finally{}
의 형태로도 사용할 수 있는데,
finally 부분은 try가 성공해도 실패해도 실행되는 부분 - 주로 로그 기록(->데이터 분석)을 위해 사용한다.