내일배움캠프 오늘 학습 내용
- Node 입문 1,2,3에 해당하는 수업 듣기 : 기본 JS의 복습에 더해 node를 시작하기에 앞서 필요한 package manager와 npm을 배웠다.
try/catch/throw/finally
오류를 제어할 수 있는 문법 중 하나이다. 에러가 났을 때 평범하게 사용하면 그 서버 자체가 종료되게 되는데, 우리가 사용하는 서버는 에러가 발생하여도 더 큰 피해를 막기 위해 멈추지 않고 정상작동을 이어나가야 하기 때문에 에러를 핸들링해야한다.. try 안에서 에러가 발생하게 되면 err를 가지고 catch문으로 바로 이동하여 에러문을 표시하거나 오류를 제어할 수 있다. 이렇게 하면 개발자가 예상하지 못한 에러들도 확인할 수 있다. throw는 오류보다는 예외상황을 처리하는데 쓰인다. 현재 실행되는 함수를 멈추고 throw한다. 이런 문법은 아마 입력으로 주는 값으로 함수를 사용하게 될 때 그 값이 정상인 값인지 확인하기 위해 사용한다면 좋을 것 같다.
function withdraw (amount, account) {
if(amount > account.balance)
throw new Error("잔고가 부족합니다.");
account.balance -= amount; //실행되지 않음
console.log(`현재 잔고는 ${account.balance}입니다.`);
}
또한, 자원을 가지고 있을 때 해당 자원을 계속 가지고 있으면 무의미한 메모리를 차지하게 된다. 따라서 해당 예시문이 성공을 했던, 실패를 했던 상관없이 마지막에는 그 자원을 삭제하기 위해 사용하는 코드가 finally이다.
package manager
다른 사람들이 미리 만들어둔 모듈을 패키지로서 사용할 수 있는데 그를 도와주는 것이 npm과 같은 package manager이다. package는 서로 의존하기 때문에 각자 필요한 package를 모두 다운 받을 수 있다. package.json으로 설치한 버전이나 라이센스 정보 등의 메타 데이터들을 관리하고 기록하며 npm 도 이 파일을 참조한다. package-locked.json은 의존하는 모든 패키지들의 버전 등 조금 더 상세한 기록이 들어있다.
'javascript+node.js' 카테고리의 다른 글
| 11/3 노드 입문 수업 3 (1) | 2023.11.03 |
|---|---|
| 11/1 , 11/2 노드 입문 수업 2 (0) | 2023.11.02 |
| 10/30 팀 과제 5 (0) | 2023.10.30 |
| 10/27 팀 과제 4 (0) | 2023.10.27 |
| 10/26 팀 과제 3 (0) | 2023.10.26 |
댓글