유효성 검사

try ~ catch

function handleSubmit(input) => {
	try {
		//..some code
	}

	catch(error) {
	// 1. 개발자를 위한 에러 처리
	console.error(error);

	// 2. 사용자를 위한 예외처리 => 사용자가 볼 수 있다고 생각
	alert("잠시만 기다려주세요, OO문제가 있습니다.");

	// 3. 사용자에게 사용을 제안
	history.back();
	history.go("안전한 페이지");
	clear(); // 초기화
	element.focus(); // 어딘가로 포커스 주기

	// 4. 에러 로그 수집
	sentry //  에러 로그 수집 도구 

	// 5. 비추천하지만 필요에 따라 추천
	// 재귀 사용
	handleSubmit(input);
	}
	
	finally {
		// 데이터 분석을 위한 로그
	}
}

사용자에게 알려주기

function React() {
	// 생성자로 사용하기 원할때
	if(!new.target) {
		throw new ReferenceError("생성자 입니다!");
	};
}

React(); // Reference Error "생성자 입니다!"
new React();