At .NET 1.1, only the unprocessed exceptions in the main thread will terminate the operation of the application, the exception of the other threads. CLR will process, so your application can run normally.
At .NET 2.0, unprocessed exceptions on any thread may terminate the operation of the application (see Exceptions in Managed Threads). This is especially upgraded to 2.0 for ASP.NET developers. Pay special attention to this, if you have a unified policy in your program, all exceptions have been processed. It is very good. Otherwise, your procedure can cause fatal problems. You can refer to it. Unhandled Exceptions Cause Asp.Net-Based Applications To Unexpectedly Quit In The .NET Framework 2.0 or ASP.NET 2.0 Unhandled Exception Issues
Also recommend an open source project in .NET USB development
The base class library (BCL) contained in .NET does not support sessions with USB devices. In most cases, if you want to access USB devices from .NET, you need to use the advanced class libraries provided by the device manufacturer. This is an
Open source project on the SourceForge. Introduction to MSDN:
Write better software for a super-cool USB hardware.