Getting Started
Architecture
NServiceBus
Transports
Persistence
ServiceInsight
ServicePulse
ServiceControl
Monitoring
Samples

Exception caveats

Component: NServiceBus

NServiceBus cannot guarantee the handling of certain types of exceptions.

AccessViolationException

If an AccessViolationException is thrown, the endpoint will likely terminate. This is because an AccessViolationException thrown by the common language runtime cannot be caught by a try...catch block.

While this problem can be mitigated by using HandleProcessCorruptedStateExceptionsAttribute, Microsoft explicitly recommends not to do this.

Corrupted process state exceptions are exceptions that indicate that the state of a process has been corrupted.

For more information, see Handling Corrupted State Exceptions.

StackOverflowException

If a StackOverflowException is thrown, the process will terminate because the exception cannot be caught by a try...catch block.

OutOfMemoryException

The process may terminate if an OutOfMemoryException is thrown. This is because, even though this exception type is handled the same way as all others if the lack of sufficient memory persists, another instance of OutOfMemoryException may be thrown while the original exception is being handled.