备忘单 - .NET框架例外

Here'■可以在ASP.NET开发中最常用的程序集中找到的例外情况。 理想情况下,在捕捉或抛出异常时,您应该尽可能具体。您更具体的是,CLR必须在找到适当的Catch块时越少的工作,并且您的错误消息的信息越多,这应该有助于加快识别任何问题的来源。

即将到来的文章将解释我如何使用Gacutil.exe和反射生成此列表,并向您展示如何自定义要读取您可能更频繁使用的其他程序集的代码。

更新: 本文现在可以提供: 使用gacutil.exe和反射生成例外备忘单

mscorlib.

SaverkedMutexException. 当一个线程获取system.Threading.mutex对象时,抛出的例外。在没有释放它的情况下,另一个线程已经放弃了另一个线程。
AccessViolationException. 尝试读取或写保护内存时抛出的异常。
ambiguymatmatchException. 当绑定到成员时抛出的异常导致多个成员匹配绑定标准。这个类不能被继承。
appdomainunloadededexception. 尝试访问卸载应用程序域时抛出的异常。
applicationException. 发生非致命应用程序错误时抛出的异常。
ArgumentException. 当提供给方法的一个参数时抛出的例外无效。
ArgumentNulexception. 当空引用(Visual Basic中的任何内容)传递给不接受它的方法时抛出的异常作为有效参数。
Argumentoutofrangeexception. 当参数的值超出由调用方法定义的允许值范围时抛出的异常。
arithmeticexception. 在算术,铸造或转换操作中抛出错误的例外。
ArrayTypeMismatchException. 尝试在数组中存储错误类型的元素时抛出的异常。
断言
BadimageFormatexception. 当DLL或可执行程序的文件映像无效时抛出的异常。
无法载荷appdomainexception. 尝试卸载应用程序域失败时抛出的异常。
comexception. 从COM方法调用返回无法识别的HRESULT时抛出的异常。
ContextMarshalException. 在尝试跨上下文边界中汇编对象时抛出的例外失败。
cryptographicexception. 在加密操作期间发生错误时抛出的异常。
CryptographicUnexpectedOperationException. 在加密操作期间发生意外操作时抛出的异常。
customattributeformatexception. 自定义属性的二进制格式无效时抛出的异常。
DataMisAlignedException. 当数据单位读取或写入不是数据大小的倍数的地址时抛出的例外。这个类不能被继承。
DecoderfallyBackexception. 解码器后退操作失败时抛出的异常。这个类不能被继承。
directoryNotFoundException. 无法找到文件或目录的一部分时抛出的异常。
divideByZeroException. 当试图将积分或十进制值划分为零时抛出的例外。
dllnotfoundException. 无法找到DLL导入中指定的DLL时抛出的异常。
DroveNotFoundException. 尝试访问不可用的驱动器或共享时抛出的异常。
duplicatewaitobjectexception. 当对象在同步对象数组中出现多次时,抛出的异常。
EncoDerfallBackexception. 编码器后退操作失败时抛出的异常。这个类不能被继承。
endofstreamException. 在读取时抛出的异常被尝试超过流的末尾。
entrypointnotfoundException. 由于缺少进入方法,尝试加载类时抛出的异常。
executionEngineexception. 当公共语言运行时的执行引擎中存在内部错误时抛出的异常。这个类不能被继承。
ExtenceException. 所有COM互操作性异常和结构化异常处理(SEH)异常的基本异常类型。
timentAccessException. 当存在无效尝试访问类中的私有或受保护字段时抛出的异常。
fileloadexception. 找到托管装配但无法加载时抛出的异常。
filenotfoundException. 尝试访问磁盘上不存在的文件失败时抛出的异常。
formatexception. 当参数的格式不符合调用方法的参数规范时,抛出异常。
hostprotectionException. 检测到拒绝的主机资源时抛出的异常。
IdentityNotMappedException. 表示其身份无法映射到已知身份的本金的例外。
IndexOutOfRangeException. 尝试访问数组的元素时抛出的异常,其中索引超出数组的界限。这个类不能被继承。
insufalidymemoryexception. 检查足够的可用内存时抛出的异常。这个类不能被继承。
InvalidCastException. 抛出无效铸造或显式转换的例外。
InvalidComobjectException. 使用无效的COM对象时抛出异常。
InvalidFilterCriteriaException. 在system.type.findmembers(system.reflection.membertypes,system.reflection.bindingflags,system.reflection.memberFilter,System.Object)抛出异常。
InvalidoLevariantTypeexception. 当遇到无法被囚禁到托管代码的变体类型的参数时,resshaler抛出的异常。
InvalidOperationException. 当方法调用时,抛出的异常对于对象的当前状态无效。
InvalidProgleMxception. 程序包含无效的Microsoft中间语言(MSIL)或元数据时抛出异常。通常,这表示生成程序的编译器中的错误。
IoException. 发生I / O错误时抛出的异常。
solatedstorageexception. 孤立存储中的操作失败时抛出的异常。
KeyNotFoundException. 当指定用于访问集合中的元素的密钥时抛出的异常与集合中的任何键都不匹配。
MarshalDirectiveException. 当遇到System.Runtime.Interopservices.marshalasAttribute时,汇编在遇到system.Runtime.MarshalasAttribute时,它不支持。
MemberAccessException. 尝试访问类别成员失败时抛出的异常。
元数据一致化
MethodAccessException. 当存在无效尝试访问类中的私有或受保护方法时抛出的异常。
MissingFieldException. 尝试动态访问不存在的字段时抛出的异常。
MissingManifestresourceException. 如果主装配不包含中性文化的资源,则抛出异常,并且由于缺少适当的卫星装配,因此需要。
遗漏漏洞exception. 尝试动态访问不存在的类成员时抛出的异常。
MissingMethodException. 尝试动态访问不存在的方法时抛出的异常。
MessingSatelliteasSemblyException. 缺少卫星组装时抛出的例外。
multicastnotsupportedException. 尝试基于system.delegate类型而不是system.multicastdelegate类型时抛出的异常。这个类不能被继承。
notfiniteNumberexception. 当浮点值是正无穷大,负无穷大或不-A号(NAN)时抛出的例外。
notimplementedException. 未实现请求的方法或操作时抛出的异常。
notsupportedException. 不支持调用方法时抛出的异常,或者尝试读取,寻求或写入不支持调用的功能的流。
nullReferenceException. 尝试取消引用空对象引用时抛出的异常。
ObjectDisposedException. 在配置对象上执行操作时抛出的例外。
operationCanceledException. 取消线程正在执行的操作时,在线程中抛出的异常。
OutofMemoryException 当没有足够的内存继续执行程序时抛出的例外。
overflowException. 在检查的上下文中算术,铸造或转换操作时抛出的例外导致溢出。
pathtoolongexception. 路径名或文件名抛出的异常比系统定义的最大长度长。
platformnotsupportedException. 在特定平台上未运行功能时抛出的异常。
policyException. 策略禁止代码运行时抛出的异常。
privilegenotheldException. 当System.Security.AccessControl命名空间中的方法尝试启用它没有的权限时抛出的例外。
rankexception. 当具有错误尺寸数为尺寸的数组时抛出的异常。
反射型xception. system.reflection.module.gettypes方法抛出的异常如果无法加载模块中的任何类。这个类不能被继承。
RemotingException. 在远程处理过程中出现问题时抛出的例外。
RemotingTimeoutException. 在以前指定的时间段内无法达到服务器或客户端时抛出的异常。
runtimewrakeException. 包装不导出系统的异常.Exception类。这个类不能被继承。
safearrayrankmismatchException. 当传入SafeArray的等级不匹配托管签名中指定的等级时,抛出异常。
safearraytypemismatchException. 当传入SafeArray的类型不匹配托管签名中指定的类型时,抛出异常。
securityException. 检测到安全错误时抛出的异常。
sehexception. 表示结构化异常处理程序(SEH)错误。
SerializationException. 在序列化或反序列化期间发生错误时抛出异常。
sereException. 当客户端连接到无法抛出异常的非-.UT框架应用程序时,将错误传送错误的例外。
stackoverflowexception. 执行堆栈溢出时抛出的异常,因为它包含太多嵌套方法调用。这个类不能被继承。
SynchronizationLockexception. 当方法需要调用者在给定监视器上拥有锁定时抛出的例外,并且由不拥有该锁的呼叫者调用该方法。
systemException. 为系统命名空间中的预定义异常定义基类。
TargetException. 表示尝试调用无效目标时抛出的异常。
targetInvocationException. 通过反射调用的方法抛出的例外。这个类不能被继承。
TargetParameterCountException. 当调用的参数数量与预期的数字不匹配时抛出的例外。这个类不能被继承。
threadabortexception. 调用呼叫时抛出的异常.Threading.Thread.Abort(System.Object)方法。这个类不能被继承。
threadinterruptedException. 系统抛出的例外.Threading.Thread在等待状态下被中断。
threadstartException. 在启动底层操作系统线程后,在托管线程中发生故障时抛出的异常,但在线程准备好执行用户代码之前。
threadstateException. system.Threading.Thread抛出的例外.Thread.Thread.Threadt.Thread.Threadstate用于方法调用。
TimeoutException. 分配过程或操作的时间抛出的例外已过期。
typeItializationException. 作为围绕类初始化程序抛出的异常的包装器抛出的异常。这个类不能被继承。
typeloadexception. 发生类型加载失败时抛出的异常。
typeunloadedException. 尝试访问卸载类时抛出的异常。
未经授权的AccessException. 由于I / O错误或特定类型的安全错误,操作系统拒绝访问时抛出的异常。
VerificationException. 当安全策略要求代码是类型安全的代码且验证过程无法验证代码是否为类型安全。
WaithandlecannotbeopenedException. 尝试打开不存在的系统互斥锁或信号量时抛出的异常。
XMLSyntaxException. XML解析中存在语法错误时抛出的异常。这个类不能被继承。

系统

身份验证申请 在身份验证失败时抛出的异常,用于身份验证流。
checkoutexception. 尝试签出被查取为源代码管理程序的文件被取消或失败时抛出的例外。
configurationException. 发生配置系统错误时抛出的异常。
cookieexception. 在将System.net.Cookie添加到System.net.cookieContainer时,将在错误时抛出异常。
httplistenerexception. 处理HTTP请求时出错时抛出的异常。
InternalBufferoverFlowException. 内部缓冲区溢出时抛出异常。
内部异常
InvalidAsnchronousStateException. 当一个操作应该执行的线程不再存在或没有消息循环时抛出。
InvalidcredentiaLException. 身份验证失败时抛出的异常,并且无法重试。
InvalidDataException. 数据流以格式无效时抛出的异常。
InvalidenumargumentException. 使用枚举器的无效参数时抛出异常。
LICEDEEXCEPTION. 表示组件无法授予许可证时抛出的异常。
NetworkInnowationException. 在检索网络信息时发生错误时抛出的异常。
pingException. 系统.Net.NetWorkInformation.ping.send或system.networkinformation.ping.sendasync方法调用抛出异常的方法时抛出的例外。
ProtocationViolationException. 使用网络协议时出错时抛出的异常。
Sevaphorefullexception. 系统.Threading.Semaphore.Release方法抛出的异常。在数量已经最大的信号量上调用。
settingspropertyisraadonlyexception. 为只读System.Configuration.settingsProperty对象提供异常。
settingspropertynotfoundException. 提供system.configuration.SettingsProperty对象的异常。
settingspropertywrongtypeexception. 提供无效类型与system.configuration.settingsProperty对象一起抛出的异常。
smtpexception. 表示System.net.mail.smtpClient无法完成System.net.mail.smtpclient.send或system.net.sendasync操作时抛出的异常。
smtpfailedrecipientexception. 表示System.net.mail.smtpClient无法完成System.net.mail.smtpclient.send或system.net.mail.smtpclient.sendasync操作到特定收件人的异常。
smtpfailedrecipientsexception. 使用System.net.mail.smtpclient发送电子邮件时抛出的例外,并且无法传递给所有收件人。
socketException. 发生套接字错误时抛出的异常。
uliformatexception. 检测到无效统一资源标识符(URI)时抛出的异常。
发出警告 指定作为警告而不是错误处理的异常。
WebException. 通过可插拔协议访问网络时出现错误时抛出的异常。
Win32Exception. 为Win32错误代码抛出异常。

系统配置

configurationErrorsexception. 当前值不是system.web.configuration.pagessection.enablessesstate值。
Providerexception. 发生配置提供程序错误时抛出的异常。提供商还使用该类别来抛出异常,当内部错误发生在不映射到其他预先存在的异常类别的提供程序中时抛出异常。

system.core.

assertionexception.
假设Exception.
EventLogexception. 表示在读取事件日志相关信息时发生错误时出现错误时抛出的所有例外的基类。
EventLoginValidDataException. 表示事件提供程序在事件中发布无效数据时抛出的异常。
EventLognotFoundException. 表示当请求的事件日志(通常由事件日志的名称或事件日志文件的路径指定)时抛出的异常。
EventLogProviderDisableDexception. 表示指定的事件提供者名称引用禁用事件提供程序时抛出的异常。已禁用的事件提供程序无法发布事件。
EventLogreadingException. 表示在读取,查询或订阅事件日志中的事件时发生错误时抛出的异常。
InstanceNotFoundException. 抛出的异常表示提供商没有返回任何实例。
仪表释放Xepepion. 表示基本提供者相关的异常。
仪器化异议 代表提供者相关的异常。
InvalidZoneException. 时区信息无效时抛出的异常。
InvariantException.
lockRecursionException. 递归进入锁定时抛出的异常与锁定的递归策略不兼容。
后平条件异构化
preconditionException.
systemcore_enumerabledebugviewemptyException.
TimeZonenotFoundException. 无法找到时区时抛出的异常。

system.data.

ConstringException. 表示尝试违反约束的操作时抛出的异常。
dataException. 表示使用ADO.NET组件生成错误时抛出的异常。
dbconcurrencyException. 如果在INSERT,更新或删除操作期间,System.Data.common.dataAdapter抛出的异常。如果受影响的行数等于零,则删除操作。
dbexception. 所有例外的基类代表数据源抛出。
deletedrowinaccessibleException. 表示在已删除的System.Data.datrarow上尝试操作时抛出的异常。
duplicatenameexception. 表示在System.Data.Dataset -Reled对象中的添加操作期间遇到重复数据库对象名称时抛出的异常。
evaluateException. 表示授予system.data.datacolumn.expression属性的system.data.datacolumn。无法评估。
InrowChangingEventException. 代表在System.Data.dataTable.RowChanging事件中调用system.data.datarow.enddingit方法时抛出的例外。
InvalidConstraintException. 表示错误地尝试创建或访问关系时抛出的异常。
InvalidexpressionException. 表示当您尝试添加包含无效System.Data.DataColumn.Expression到System.Data.DataColumnCollection时抛出的异常。
InvaliduddTexception. 抛出SQL Server或ADO.Net System.Data.SqlClient Provider检测到无效的用户定义类型(UDT)。
MissingPrimaryKeyException. 表示当您尝试在没有主键的表中访问一行时抛出的异常。
moduleloadexception.
ModuleLoadexceptionHanterException.
nonullalalyedException. 表示当您尝试将空值插入到system.data.datacolumn.allydbnull设置为false的列中时抛出的异常。
odbcexception. 当ODBC数据源返回警告或错误时生成的异常。这个类不能被继承。
Oledbexception. 当底层提供程序返回OLE DB数据源的警告或错误时抛出的异常。这个类不能被继承。
mocussyabortedException. 当用户中止正在进行的操作时,将抛出此异常。
readonlyexception. 表示当您尝试更改只读列的值时抛出的异常。
RownotitableException. 表示当您尝试在System.Data.dataRab中执行操作时抛出的异常。
sqlalreadyfillededException. system.data.sqltypes.sqlalreadyfilledexception类不适用于作为独立组件,但作为其他类从中导出标准功能的类。
sqlexception. SQL Server返回警告或错误时抛出的异常。这个类不能被继承。
sqlnotfilledException. system.data.sqltypes.sqlnotfilledException类不适用于作为独立组件,但作为其他类从中导出标准功能的类。
sqlnullvalueexception. system.data..SQLTypes结构的Value属性设置为NULL时抛出的异常。
sqltruntateexception. 将值设置为system.data.sqltypes结构时抛出的异常将截断该值。
sqltypeexception. system.data.sqltypes的基本异常类。
strondtypingexception. 当用户访问dbnull值时,由强类型的system.data.dataset抛出的异常。
syntaxerrorexception. 表示System.Data.DataColumn.Expression属性的system.data.datacolumn包含语法错误时抛出的例外。
typeddatasetgeneratorexception. 在生成强类型的System.Data.dataset时发生时发生冲突时抛出的异常。
VersionNotFoundException. 表示尝试返回已删除的System.Data.datrarow的版本时抛出的异常。

system.data.entity.

EntityCommandCompilationException. 表示命令编译期间发生的错误;无法生成命令树以表示命令文本时。
EntityCommandExecutionException. 表示底层存储提供程序无法执行指定命令时发生的错误。此异常通常包裹特定于提供者的异常。
entityException. 表示EntityClient命名空间中发生的实体框架相关错误。 EntityException是EntityClient抛出的所有实体框架异常的基类。
entitysqlexception. 表示解析实体SQL命令文本时发生的错误。违反句法或语义规则时抛出此异常。
InternalMappingException.
InvalidCommandtreeException. 抛出的异常表示命令树无效。
mappeException. 映射相关服务请求时抛出的异常失败。
元数据一致化 元数据相关服务请求失败时抛出的异常。
ObjectNotFoundException. 当对象不存在时抛出的异常。
OptimisticConcurrencyException. 发生乐观并发违规时抛出的异常。
ProviderIncompativeException. 当底层数据提供程序与实体框架不兼容时抛出的异常。
UpdateException. 将对象实例的修改无法持久地持续到数据存储时,抛出异常。

system.data.linq.

changeconflictexception. 当更新失败时抛出,因为自客户端上次读取它们以来已经更新了数据库值。
DuplicateKeyException. 当尝试通过使用已经使用的键将对象添加到身份高速缓存时抛出。
FigentKeeWreferenceAlreadyhasvalueexception. 表示在已经加载实体时尝试更改外键时发生的错误。

system.data.services.

DataServiceException. 表示system.data.services.dataServiceException类的实例,具有描述错误的指定消息。

system.web.

databaseNotEnabledFornotificationException. 当SQL Server数据库未启用以支持与System.Web.Caching.sqlCacheDenceency类相关联的依赖项时抛出的异常。这个类不能被继承。
hostingenvironmentException.
httpcompileexception. 发生编译器错误时抛出的异常。
httpException. 描述在处理HTTP请求期间发生的异常。
httpparseexception. 发生解析错误时抛出的异常。
httprequestvalidationException. 当从客户端接收到可能的恶意输入字符串作为请求数据的一部分时,抛出的异常。这个类不能被继承。
httpunhandledException. 发生通用异常时抛出的异常。
MembershipCreateUserexception. 当用户不成功创建时抛出的异常。
empersippasswordException. 无法从密码存储中检索密码时抛出的异常。
sqlexecutionException. 在System.Web.Management命名空间中定义SQL执行异常的类。
TablenotEnableDfornotificationException. 系统抛出的例外。在未启用更改通知的数据库表上使用该数据库表中抛出的例外。
ViewStateException. 表示无法加载或验证视图状态时抛出的异常。这个类不能被继承。

system.web.services.

InvalidContentTypeexception.
InvalidDocumentContentSexception.
soapexception. 表示在SOAP上调用XML Web服务方法时抛出的异常,并且发生异常。
soapheaderexception. SOAP表示服务器错误。

system.xml.

UPAException.
XMelxception. 返回有关最后一个例外的详细信息。
XMLSchemaException. 返回有关架构异常的详细信息。
XMLSchemainferenceException. 返回有关System.xml.schema.xmlschemainference类的错误的信息,同时从XML文档推断架构时。
xmlschemaverationException. 表示XML模式定义语言(XSD)模式验证错误和警告在被验证的XML文档中遇到时抛出的异常。
XPATEException. 在处理XPath表达式时发生错误时抛出异常。
xsltcompileexception. 当在XSLT样式表中找到错误时,由Load方法抛出的异常。
xsltexception. 在处理XSLT转换时发生错误时抛出的异常。