Why would this catch all block not in fact catch all
The code is fairly simple --- the issue is that there is an invalid character in the groupPath string (a '/' to be exact). What I'm trying to do (at least as a stop gap) is skip over DirectoryEntries that I can't get the cn for --- regardless of why. However when I run this code the catch block doesn't run and I get instead: The server is not operational. and an unhandled System.Runtime.InteropServices.COMException. Why would the catch block not catch this exception. try { using (DirectoryEntry groupBinding = new DirectoryEntry("LDAP://" + groupPath)) { using (DirectorySearcher groupSearch =