My company has an application that handles开发者_Go百科 shopping cart check out processes. The application is written in VB.net with the .NET 2.0 Framework. We are running IIS 6.0 as the web server and have, what we consider, excellent exception handling. For those exceptions that we can't figure out why they're happening, we use Elmah to handle them, package them up, and email them to us.
We still see a fair amount of unhandled exceptions, handled by Elmah.
My question is: This is an application that is used by many people on the web at the same time. If there is an unhandled exception (handled by Elmah, mind you), does this then reset the application so that all users who aren't doing anything naughty see the application blow up in front of them when this happens?
No, unhandled exceptions in a web application will only crash the current request. The only way that the entire application would crash would be if the exception represented a problem with a global resource (like available virtual memory or a database connection) but even then the crash would not be caused by the exception. Each executing request gets it's own, isolated exception.
No, it won't.
Each request is handled by a different thread, hence, an unhandled exception will only cause that thread to terminate.
精彩评论