Error 객체란?
- javascript에서 발생한 에러를 나타내는 내장 객체
- TypeScript에서도 Error객체를 사용
- 기본적인 에러를 다루기 위한 객체
- Error는 클래스이기 때문에 상속가능
- 두가지 주요 속성을 제공
- message : 에러 메시지를 나타내는 문자열
- name : 에러의 이름
//javascript
const error = new Error("Something went wrong!");
console.log(error.message); // "Something went wrong!"
console.log(error.name); // "Error"
//typescript
function throwError(message: string): never {
throw new Error(message); // Error는 `message` 속성을 가짐
}
try {
throwError("Something went wrong!");
} catch (err) {
if (err instanceof Error) {
console.log("Caught error:", err.message);
}
}
에러처리
- 에러가 발생시 throw문을 사용하여 에러를 던질 수 있음
=> 던진 에러는 try...cath문을 사용하여 처리가능 - try : 코드를 실행하며, 에러가 발생할 수 있는 부분을 포함
- catch : 에러가 발생했을때 실행되는 코드 블록
try {
const result = someFunction();
} catch (err) {
if (err instanceof Error) {
console.log("Error caught:", err.message);
} else {
console.log("Unknown error:", err);
}
}
instanceof와 에러 객체
에러 객체는 instanceof 연산자를 사용하여, 객체가 Error클래스의 인스턴스인지 확인가능
try {
throw new Error("This is an error!");
} catch (err) {
if (err instanceof Error) {
console.log("Caught an Error object:", err.message);
}
}
try {
throw "This is a string error!";
} catch (err) {
if (err instanceof Error) {
console.log("Caught an Error object:", err.message);
} else {
console.log("Caught something else:", err);
}
}
'웹개발 기타' 카테고리의 다른 글
url parameter (0) | 2024.12.12 |
---|---|
프레임워크 vs 라이브러리🤔 (1) | 2024.12.10 |
스크립트 로딩 속성, DOMContentLoaded, loaded (1) | 2024.10.25 |
로컬스토리지 (2) | 2024.10.24 |
[성능 최적화]디바운싱 , 스로틀링 (0) | 2024.10.24 |