How to reduce number of try catch between classes

I have a third party plugin installed on my MVC site.

The plugin allows me to use their services across multiple pages which write to the database (it creates tables as part of the installation/usage).

I setup two folders, Services and Controllers.

The services holds the code to get the plugin to work and take appropriate actions, retrieve data, write back to the database etc.

The controllers folder holds the code for the pages whereby it calls the service from the services folder.

The service holds majority of the code to get it working and the controller calls the service methods. So essentially the controller is very light and the service class is heavy.

My question is in the service I have try catch blocks as when an error occurs it holds it in the try catch block and returns it back to the controller.

Service class example

`public Customer GetCustomer(int id)

{

try

{

   // Some code to run 

}

catch (SomeException someExcep)

{

   throw new SomeException ("some error");

}

catch (OtherException otherExcep)

{

   throw new OtherException ("some other error);

}

}`

In order for the controller to return the error back to the user I have the same try catch block in the code for the controller which then displays it back to the frontend user.

`public IActionResult GetCustomer(Customer model)

{

try

{

my service.GetCustomer(model.Id}

}

catch (SomeException someExcep)

{

   TempData["message"]= "Something went wrong, try xyz";

}

catch (OtherException otherExcep)

{

   TempData["message"]= "Something else happened, try something else";

}

}`

The above code may not be 100% valid but enough to give an example of the try catch structure I have.

I feel I’m duplicating the try catch block between the service and controller.

Is there a way I can return the error back to the user in a better manner or is this the most appropriate way? Or even if the service class just an extra layer that really shouldn’t be there? I just like to ensure I’m picking up best practices where possible.

The reason I have the service class is if I need to upgrade or change anything in future I don’t need to redo the controllers.

The above code may not be 100% valid but enough to give an example of the try catch structure I have.

The reason I have the service class is if I need to upgrade or change anything in future I don’t need to redo the controllers.
I’ve read some articles on MSDN and other search results but no one really covers the area.

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật