Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
632 views
in Technique[技术] by (71.8m points)

domain driven design - .Net Core Web API Handling exception in different layers

I'm working on a .Net Core 3.1 Web API with different classic layers (DDD).
We've implmented a global exception handler to catch all the exceptions and send back friendly messages to client.

In my team, we've got different points of view on exception management. One of us is more abouit only using the global exception middleware. On my side, I think we should first catch errors on methods and throw the error. What is the good way to go ?

question from:https://stackoverflow.com/questions/65833011/net-core-web-api-handling-exception-in-different-layers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Both ways can be combined.

The exception middleware covers cases where an exception is thrown by some inner component but never gets catch, hence freeing us from the need to use try/catch blocks.

On the other hand, in some cases you want to use try/catch block, e.g. when you want to implement a retry logic for specific error (of course, if retry also fails you rethrow the exception, letting the middleware handle it).


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...