我创建了自定义异常类public class Web2PDFException : Exception{ public Web2PDFException(string message, Exception innerException) : base(message, innerException) { ... }}在我的应用程序中,如何确定它是否是我的自定义异常?try { ... }catch (Exception err){//Find exception type here} 最佳答案 更新:假设为 C# 6 ,您的案例很可能可以表示为异常过滤器。从性能角度来看,这是理想的方法,假设您的需求可以用它来表达,例如:try{}catch ( Web2PDFException ex ) when ( ex.Code == 52 ){}假设 C# Exception 类型并基于该类型进行处理。任何包罗万象的处理都可以单独完成try{}catch ( Web2PDFException ex ){}要么try{}catch ( Web2PDFException ex ){}catch ( Exception ex ){}或者(如果您需要编写一个通用处理程序 - 这通常是一个坏主意,但如果您确定它最适合您,那么您确定): if( err is Web2PDFException) { }或(在某些情况下,如果您需要做一些无法用 is 表示的更复杂的类型层次结构) if( err.GetType().IsAssignableFrom(typeof(Web2PDFException))) { }或切换到 VB.NET 或 F# 并在异常过滤器中使用 is 或 Type.IsAssignableFrom关于c# - 识别处理程序 Catch 块中的异常类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1802597/ 10-14 12:37