asp.net mvc core 및 dapper의 전역 예외 / 오류 처리

asp.net-core asp.net-mvc c# dapper

문제

나는 우리의 App.Here에서 Asp.net 코어와 Dapper를 사용하고있다. User Repository Add 메서드가있다. (연결 문자열은 의존성을 통해 주입 될 것이다)

public User Add(User user)
        {
            string query = @"Insert into Users(UserName,Email,LastName,Password) values (@UserName , @Email, @LastName , @Password );
            select Cast(Scope_Identity() as int)";

            Try
            {
             using (var db = connectionFactory.GetOpenConnection())
             {
                  int id = db.Query<int>(query, user).Single();
                  user.UserId = id;
                  return user;
             }

        } Catch(Exception e){  //log exception}

        }

그리고 내 시작 클래스에서 나는 전역 예외 처리기를 포함 시켰습니다.

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
            loggerFactory.AddConsole(Configuration.GetSection("Logging"));
             loggerFactory.AddDebug();

            if (env.IsDevelopment())
            {
                app.UseBrowserLink();
                app.UseDeveloperExceptionPage();
                app.UseDatabaseErrorPage();
            }
            else
            {
                // StatusCode pages to gracefully handle status codes 400-599.
                app.UseStatusCodePagesWithRedirects("~/Home/StatusCodePage");

                app.UseExceptionHandler("/Home/Error");
            }

        }

My Quetion은 try catch가 저장소의 각 메소드에서 재 작성되는지 여부입니다. 아니면 asp.net 코어가 자동으로 전역 예외 / SQL excption을 처리 할 것인가?

제발 각각의 방법에 캐치를 포함시키고 싶지 않기 때문에 올바른 방법을 알려주세요.

수락 된 답변

try catch는 안전 할 수있는 최선의 방법이지만 완벽한 세상에서 가장 좋은 방법은 이러한 상황에 대한 단위 테스트를 작성하는 것입니다. 나는 직장에서 마지막으로 독립 실행 형 프로젝트로 이것을 가로 질러 왔어. 잘 쓰여진 단위 테스트는 코드와 관련된 정확한 이슈를 알려줍니다. 나는 그들을 사랑한다. :)



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow