코드 작성 과정에서 발생할 수 있는 개발자의 가벼운 실수, 사용자의 잘못된 입력 등의 시스템의 동작 도중 발생하는 예상치 못한 문제 상황을 처리하기 위함이다. Try-Catch은 에러로 인한 코드 중단을 막고 문제상황에 대한 핸들링이 가능하게 한다.
Try-Catch 구문에서 try는 예외가 발생할 수 있는 코드를, catch는 예외 상황 발생 시 감지된 예외에 대한 처리 코드를 작성한다.
try{
//코드
}
catch{
//에러 발생 시 실행되는 코드
}
try-catch는 동기적인 코드에서만 동작한다.
1) try 블록을 만나면 순서대로 코드 실행
2) try 코드 실행 중 에러가 없다면 그대로 진행
3) try 코드 실행 중 에러가 있다면 남은 코드를 건너뛰고, catch코드 실행
//게시글 정보 저장을 백엔드에 요청하는 코드
//try 문이 실행되고 백엔드 측에서 가 발생하면 즉시 catch 문이 실행되면서, 에러메시지가 출력된다.
try{
const result= await callGraphql({
variables: {
writer: name,
title: title,
contents:contents
}
})
} catch(error){
alert(error.message) //백엔드 개발자가 만든 error 메시지를 보여줌
}