회원가입시 워크스페이스 생성을 연결하기 위해서 의존성 주입하는데, workspaceRepository를 어떻게 연결해야할지 모르겠어서 생긴 오류
<바꾸기 전 코드>
< ✅ 해결한 코드>
WorkspacesRepository의 생성자에서 BoardsRepository의 인스턴스가 필요해서 생긴 오류. routes에서 import해주고, 안에 constructor 확인해서 인자에 담아주기
https: 웹에서 데이터를 암호화하여 보안을 강화하는 프로토콜 (자물쇠 → 안전한사이트)
✅문제점 :
배포사이트로 들어가서 회원가입을 확인하는 과정에서 가입된 이메일로 중복가입을 해도 오류라는 코드가 뜨지 않음 (prisma studio로 확인시, 데이터가 중복으로 저장되지는 않음, 그러나 개발자도구에서도 오류코드를 확인할 수 없음 → 왜 오류처리가 안되는거지❓)
✅해결방법 : throw / return 차이
src/services/signup.ts 에서 코드를 확인해보니, error처리가 아니라, return 으로 작성되어있음.
throw new CustomError( 409, ‘중복된 이메일입니다.’)
이렇게 작성해야 CustomError를 발생시킴 - 오류가 발생되면 함수 실행이 중지되고 try~catch 블록으로 제어가 전달됨
참고로 return 은 단순히 {} 객체 값을 반환하고, throw가 오류를 명확하게 알리는 방법
추가사항 ) 다른 에러코드 위치를 services →controllers 로 변경함
<에러처리 어느 곳에 위치해야할까❓>
+각 계층의 책임에 따라 에러처리의 위치가 결정된다!
👉 최종적으로, 에러 처리의 위치는 프로젝트의 구조와 개발 팀의 선호에 따라 다를 수 있습니다. 그러나 일반적인 원칙은 각 계층에서 해당 계층의 책임 범위 내에서 발생하는 오류만을 처리하는 것입니다.