2017-10-30 1 views
-1

dbContext에 액세스하는 저장소를 호출하는 서비스 계층이 있습니다.
내 서비스 계층이나 컨트롤러에서 DbUpdateException을 잡아 내면 dbContext.SaveChanges 메서드를 호출하는 내 자신의 Save 메서드를 만드는 것과 같은 경우보다 성능에 더 많은 위험이 있습니다. 예외를 포착하고 사용자 지정을 반환합니다. 예외 목록이 포함 된 클래스?유효성 검사를 위해 try catch 사용

답변

2

예외를 catch하는 수준은 스택 추적의 크기에만 영향을 미칠 수 있으며 안정성 상태로 돌아 가기 위해 풀어야 할 사항은 무엇입니까? 예외가 발견되는 레벨이 높을수록 더 많은 프레임이 추적됩니다.

그러면 데이터 레이어의 정보가 컨트롤러/서비스 레이어로 흐려질 염려가 있습니다. 서비스 계층에서 예외를 catch하면 EF 예외를 catch하는 등의 특정 구현과 연결할 수 있습니다.

해당 레이어에서 구현 특정 예외를 catch하고 비즈니스 도메인과 관련이있는 항목을 반환하는 것이 더 깔끔하여 dal의 구현을 전환 한 적이없는 경우 새로 작성해야 할 코드를 다시 코딩 할 필요가 없습니다. 서비스 계층의 예외.

그것은 모두 고립에 관한 것입니다.