의도에 맞지 않는 예기지 않는 변수의 발생 가능성
서비스를 이용하는 동안 발생할 수 있는 에러를 미리 사전에 에측해야 한다
개발자는 사용자가 서비스를 이용하는 동안에 발생할 수 있는 에러를 미리 사전에 예측하여서, 사용자의 흐름이 막히지 않도록 유도해야 한다.
올바른 에러 핸들링은 궁극적으로 사용자로 하여금 안정적 서비스를 누리게하고 서비스 이용자의 이달을 방지한다
에러핸들의 을 세분화 하면 에러(error) 와 예외(exception) 핸들링 두 가지로 나뉘게 된다.
실행환경, 사용자의 특성, 개발자의 실수등 여러 원인 존재
컴퓨터가 자바스크립트 문법을 실행하는 과정 자체에서 더이상 진행할 수 없어서 발생한 에러
예외 핸들링
개발자가 의도적으로 발생시키는 예외상황
컴퓨터의 실행에는 문제가 없으나, 서비스 기획 등 다양한 이유로 만들어야 하는 예외 사항
Throw -예외 상황이 발생하면 진행하던 작업을 중단시키고 위 에러를 호출한 상위 모듈로 제어를 넘김
return은 계속 자연스런 코드 흐름을 유지 및 진행, 하지만 throw 는 던져진 에러를 핸들링 않았을 때, 코드가 더이상 진행 불가
에러가 발생한 곳과 실제 처리하여 클라이언트에게 리턴하는 곳의 시점이 다를수 있음을 암시
실제 디자인 아키텍쳐 중 모든 에러에 대한 로그를 한곳에서 진행하는 모습을 선호하는 그룹도 존재