오류의 종류
구문오류 - 프로그램 실행 전 오류
웹브라우저가 실행조차 못해 분서을 못함
ex : 괄호를 열고 닫지않음 , 선언되지 않은 변수 사용 등등
런타임 오류, 예외 - 프로그램 실행 중 오류
문법적으로 틀린게 없어 일단 실행은 됨 하지만 의도치 않은 결과가 나옴
ex : 구문오류를 제외한 모든 오류들 - TypeError,ReferenceError,RangeError
기본예외처리
조건문을 사용해소 예외가 발생하지 않게 만드는 것
<script>
document.addEventListener('DOMContentLoaded', () => {
const h1 = document.querySelector('h1')
if (h1) {
h1.textContent = '안녕하세요'
} else {
console.log('h1 태그를 추출할 수 없습니다.')
}
})
</script>
고급 예외 처리
try catch finaally 구문을 사용!
try 안에서 예외를 발생하면 이를 catch 구문에서 처리합니다. try 구문 안에서 예외 발생시, 더 이상 try를 진행하지 않고, catch 구문을 실행합니다.
finally 구문은 무조건 실행되는 코드로, 서버 개발시 안전하게 코드를 작성할 수 있게 도와줍니다.
try {
//예외가 발생할 가능성이 있는 코드
} catch (exception) [
//예외가 발생했을 떄 실행할 코드
} finally {
// 무조건 실행할 코드
}
<script>
try {
willExcept.byeBye()
console.log("try 구문의 마지막 줄")
} catch (exception) {
console.log("catch 구문의 마지막 줄")
} finally {
console.log("finally 구문의 마지막 줄")
}
</script>
예외처리 고급
에러가 발생하면 자바스크립트는 에러 상세내용이 담긴 객체를 생성합니다.
그 후, catch 블록에 이 객체를 인수로 전달합니다. (catch의 괄호 안에 입력하는 식별자 -- 예외객체)
ex. ReferenceError: lalala is not defined at //<-----와 같은 예외 객체
예외 강제 발생
throw구문으로 예외를 강제로 발생시킬 수 있다.
사용이유 : 예외를 강제로 발생시켜 사용자에게 주의를 줄 수 있으며, 의도한 대로 처리하게 유도할 수 있습니다.
'프로그래밍 공부 > Javascript' 카테고리의 다른 글
[혼공JS] 자바스크립트 -번외편 용어들 (0) | 2024.01.22 |
---|---|
[혼공JS] 클래스 chapter 9 (0) | 2024.01.21 |
[혼공JS] 문서 객체 모델 chapter 7 (0) | 2024.01.19 |
[혼공JS]객체 chapter 6 (1) | 2024.01.16 |
[혼공JS] 2주차 미션 (1) | 2024.01.15 |