JAN's History
실무에서 꼭 알아둬야할 try-catch문에 대해서 알아보자! 본문
try-catch 문은 JavaScript에서 오류(에러)가 발생했을 때 프로그램이 멈추지 않고 이를 처리할 수 있게 해주는 구문인데요! 그래서 실무에서 코드를 작성할 때에는 다양한 에러를 미연에 방지하기 위해 try-catch문을 자주 사용하게 됩니다. 이 문법을 사용하면 오류를 사전에 감지하고 처리해, 사용자에게 적절한 메시지를 보여주거나 다른 작업을 수행할 수 있기 때문이죠 :)✨
📍try-catch 문법 구조
try-catch 문은 다음과 같은 기본 구조를 가집니다.
try {
// 오류가 발생할 가능성이 있는 코드
} catch (error) {
// 오류가 발생했을 때 실행되는 코드
}
- try 블록: 이 블록 안에 실행하려는 코드를 넣습니다. 이 코드 중 오류가 발생하면 try 블록 안의 나머지 코드는 실행되지 않고, 곧바로 catch 블록으로 이동합니다.
- catch 블록: try 블록에서 오류가 발생했을 때 실행됩니다. catch 블록의 파라미터는 오류에 대한 정보를 담고 있어, 이를 활용해 오류 내용을 출력하거나 적절히 처리할 수 있습니다.
📝 예시 코드: Copy by Value
try {
let result = 10 / 0;
console.log(result);
undefinedFunction(); // 정의되지 않은 함수 호출 (오류 발생)
} catch (error) {
console.log('오류가 발생했습니다:', error.message);
}
위 코드에서 undefinedFunction()을 호출했을 때 오류가 발생하지만, try 블록으로 감싸져 있기 때문에 프로그램이 멈추지 않고 catch 블록이 실행되어 오류 메시지가 출력됩니다.
📍 finally 블록
try-catch 문에는 finally 블록을 추가할 수 있습니다. 이 블록은 오류 발생 여부와 관계없이 항상 실행됩니다. 데이터베이스 연결 해제나 파일 닫기 같은 작업을 할 때 유용합니다.
try {
let data = JSON.parse('{"name": "John"}');
} catch (error) {
console.log('JSON 파싱 중 오류가 발생했습니다:', error.message);
} finally {
console.log('이 코드는 항상 실행됩니다.');
}
⭐중요: try-catch 문이 필요한 이유
- 오류 방지: 사용자에게 앱이 강제 종료되는 것을 방지하고, 예기치 않은 오류를 적절히 처리할 수 있습니다.
- 오류 메시지 제공: 오류가 발생했을 때 사용자나 개발자에게 무엇이 잘못되었는지 알려줍니다.
- 코드 유지 관리: 프로그램의 안정성을 높여, 유지 관리에 도움이 됩니다.
catch 블록의 파라미터
catch 블록의 파라미터(error)는 오류에 대한 정보를 포함합니다. error.message를 통해 오류 메시지를 가져올 수 있으며, 개발자가 추가적인 처리나 로그 기록을 할 때 사용됩니다.
➡️헷갈림 주의: 오류 발생 시 프로그램 흐름
- try 블록에서 오류가 발생하면, catch 블록으로 이동합니다. try 블록의 나머지 코드는 실행되지 않습니다.
- finally 블록은 try 혹은 catch 블록이 완료된 후 항상 실행됩니다.
✨요약
- try: 오류가 발생할 수 있는 코드를 실행하는 블록.
- catch: 오류가 발생했을 때 처리하는 블록.
- finally: 오류 발생 여부에 관계없이 항상 실행되는 블록.
try-catch 문을 통해 오류를 적절히 처리하면 프로그램이 중단되는 것을 막아주고, 사용자들에게도 적절한 에러 메시지를 띄워줄 수 있기 때문에 꼭 알아두고 사용해야한답니다 !_!
'Javascript' 카테고리의 다른 글
자바스크립트의 Getter와 Setter (3) | 2024.10.09 |
---|---|
클래스(Class) 기본기 다지기! (0) | 2024.10.05 |
Copy by Value와 Copy by Reference (0) | 2024.10.01 |
자바스크립트에서 Object란 무엇인가? 배경부터 등장 후까지! (0) | 2024.09.29 |
자바스크립트에서 함수를 선언하는 다양한 방법 (0) | 2024.09.27 |