adhrinae / rinae.dev

https://rinae.dev
MIT License
11 stars 1 forks source link

posts/how-to-handle-errors-2 #18

Closed utterances-bot closed 6 months ago

utterances-bot commented 5 years ago

Home | rinae's devlog

리내의 개발블로그입니다. 좋은 기술 문서 번역을 주력으로 삼고 있습니다. 또한 개인적으로 공부한 내용이나, 모아두었던 글을 공유하고 있습니다.

https://rinae.dev/posts/how-to-handle-errors-2

skt-t1-byungi commented 5 years ago
  1. 저는 go방식을 선호하지만 promise 관습을 해치고 싶지 않아 https://github.com/xobotyi/await-of 랑 같이 쓰고있어요..
  2. 에러타입을 구분해야하는 상황 자체를 안만드는게 최선이라고 생각합니다. go방식은 에러를 낼수 있는 곳에서 빨리 결과로 반환하는 스타일이니깐 그런점에서 좋더라구요. 그치만 구분해야하는 상황이 오면 error.isCanceled, error.isTimeout 같이 인자속성으로 구분하고 있어요. (저 타입스크립트 설명같이 빌트인 에러 상속안되는 문제 때문에)..
  3. 에러를 최대한 즉시 핸들링하기 때문에 전역에러핸들러에는 로그수집과 unknown에러 안내만 있습니다. (전혀 예상하지 못한 에러라고 판단하고...)
adhrinae commented 5 years ago

저도 Go 방식을 선호합니다만, 팀 안에서 합의가 어떻게 이루어지느냐에 따라 원하는 방식을 쓰지 못할 때도 있죠 😹 await-of 는 저도 구현 방식이 마음에 들어서 예전에 별 찍어놓고 잊어버리고 있었는데 바로 저걸 활용할 수도 있겠네요. 추천 고맙습니다.

에러타입을 구분하는건 저도 별로 일어나지 않을 일 같지만 상정해본 경우고, 실질적으로 코드를 잘못 작성해서 생긴 버그가 아닌 이상 대부분은 HTTP 요청과 관련된 에러를 처리 + Unknown 에러 처리 정도면 충분하리라 생각하고 있습니다.