C# 常见错误处理

 1 ArgumentException     在向方法提供的其中一个参数无效时引发的异常  
  2 AppDomainUnloadedException   在尝试访问已卸载的应用程序域时引发的异常  
  3 ArithmeticException 因算术运算、类型转换或转换操作中的错误而引发的异常  
  4 ArrayTypeMismatchException 当试图在数组中存储类型不正确的元素时引发的异常  
  5 BadImageFormatException 当   DLL   或可执行程序的文件图像无效时引发的异常  
  6 CannotUnloadAppDomainException 卸载应用程序域的尝试失败时引发的异常  
  7 CodeDomSerializerException 当行号信息可用于序列化错误时引发的异常  
  8 LicenseException 表示当组件不能被授予许可证时引发的异常  
  9 WarningException 指定按警告(而不是错误)处理的异常  
  10 ConfigurationException 配置设置中发生错误时引发的异常  
  11 InstallException 在安装的提交、回滚或卸载阶段发生错误时引发的异常  
  12 ContextMarshalException 在尝试将对象封送过上下文边界失败时引发的异常  
  13 DataException 表示使用   ADO.NET   组件发生错误时引发的异常  
  14 DBConcurrencyException 在更新操作过程中受影响的行数等于零时,由   DataAdapter   所引发的异常  
  15 SqlException 当   SQL   Server   返回警告或错误时引发的异常。无法继承此类  
  16 InvalidPrinterException 表示当试图用无效的打印机设置来访问打印机时所引发的异常  
  17 RegistrationException 检测到注册错误时引发的异常  
  18 FormatException 当参数格式不符合调用的方法的参数规范时引发的异常  
  19 IndexOutOfRangeException 试图访问索引超出数组界限的数组元素时引发的异常  
  20 InvalidCastException 因无效类型转换或显式转换引发的异常  
  21 InvalidOperationException 当方法调用对于对象的当前状态无效时引发的异常  
  22 InternalBufferOverflowException 内部缓冲区溢出时引发的异常  
  23 IOException 发生   I/O   错误时引发的异常  
  24 ManagementException 表示管理异常  
  25 NotImplementedException 在无法实现请求的方法或操作时引发的异常  
  26 NotSupportedException 当调用的方法不受支持,或试图读取、查找或写入不支持调用功能的流时引发的异常  
  27 NullReferenceException 尝试取消引用空对象引用时引发的异常。  
  28 OutOfMemoryException 没有足够的内存继续执行程序时引发的异常  
  29 RankException 将维数错误的数组传递给方法时引发的异常  
  30 AmbiguousMatchException 当绑定到方法的操作导致一个以上的方法匹配绑定判据时引发的异常  
  31 ReflectionTypeLoadException 当模块中的任何类无法加载时由   Module.GetTypes   方法引发的异常  
  32 ServerException 当客户端连接无法引发异常的非   .NET   框架应用程序时,为向客户端传达错误而引发的异常  
  33 PolicyException 当策略禁止代码运行时引发的异常  
  34 SecurityException 检测到安全性错误时引发的异常  
  35 XmlSyntaxException 在   XML   语法分析中出现语法错误时引发的异常  
  36 TimeoutException 当已达到指定的超时时间时引发的异常  
  37 SynchronizationLockException 在从非同步的代码块中调用同步方法时引发的异常  
  38 ThreadAbortException 在对   Abort   方法进行调用时引发的异常  
  39 TypeInitializationException 作为由类初始值设定项引发的异常周围的包装引发的异常  
  40 TypeLoadException 类型加载失败发生时引发的异常  
  41 TypeUnloadedException 试图访问已卸载的类时引发的异常  
  42 UnauthorizedAccessException 当操作系统因   I/O   错误或指定类型的安全错误而拒绝访问时所引发的异常  
  43 SoapException 当通过   SOAP   调用   XML   Web   services   方法且出现异常时引发的异常  
  44 XmlSchemaException 返回关于架构异常的详细信息  
  45 XmlException 返回有关最后一个异常的详细信息  
  46 XsltException 由于在处理“可扩展样式表语言”(XSL)   转换时发生错误而引发的异常  
  47 XPathException 处理   XPath   表达式而发生错误时引发的异常
  

 

以上部分转自http://www.chinaret.com/user/topic_view.aspx?u=%e5%b0%8f%e8%98%91%e8%8f%872&id=b6569be1-c754-4e17-b372-eee4a2231b91

 

由于在存储时,为了打赌XMLFile提供的存储语句,从而需要对所要存储的内存进行序列标记,才能存储。序列标记的做法是在要存储的类前加入        [Serializable],即可实现。其错误提示为:System.Runtime.Serialization.SerializationException: 程序集“Ocelot,  Version 1.0.0.0,  Culture = neutral ,PublicKeyToken = null”中的类型“Ocelot.DataStyle + GradientTable”未标记为可序列化。

这其中出现了DataStyle+ GradientTable的奇怪的错误提示,其实是DataStyle是一个很大的类,其中包含多个类(Class HighPump  和Class UltraPump和GradientTable的声明)的声明和变量(private HighPump m_cHighPump ;  private UltraPump m_cUltraPump;)的生成,然后在HighPump类和UltraPump类中又各自包括GradientTable类的对象作为私有成员。而GradientTable类是以List<GradientTable>  m_listGradientTable来作为HighPump和UltraPump的变量的。然后由于没有在GradientTable上加入[Serializable],结果就出现了上面的错误提示。

 

加载设计器时遇到一个或多个错误。这些错误在下面列出。一些错误可通过重新生成项目来修复,而另一些错误则需要更改代码。

类型“System.Collections.Generic.List`1[Ocelot.DataStyle+GradientTable]”的对象无法转换为类型“System.Collections.Generic.List`1[Ocelot.DataStyle+GradientTable]”。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#错误处理和异常处理是非常重要的,可以帮助我们优雅地处理运行时错误,并保护应用程序免受崩溃和不可预测的行为。以下是一些常见C#错误处理和异常处理的技术和原则: 1. 异常(Exceptions):C#使用异常机制来处理运行时错误。当发生异常时,可以抛出(throw)异常,并使用try-catch语句来捕获(catch)和处理异常。 ```csharp try { // 可能会引发异常的代码 } catch (Exception ex) { // 处理异常的代码 } ``` 2. 异常类型(Exception Types):C#提供了许多内置的异常类型,例如`ArgumentException`、`InvalidOperationException`等。可以根据具体的情况选择合适的异常类型,或自定义异常类型。 ```csharp try { // 可能会引发异常的代码 } catch (ArgumentException ex) { // 处理特定类型的异常 } catch (Exception ex) { // 处理其他类型的异常 } ``` 3. finally块:除了try和catch块外,还可以使用finally块来确保无论是否发生异常,都会执行特定的代码。 ```csharp try { // 可能会引发异常的代码 } catch (Exception ex) { // 处理异常的代码 } finally { // 执行清理或资源释放的代码 } ``` 4. 自定义异常(Custom Exceptions):可以根据需要自定义异常类型,以便更好地表示特定的错误场景。 ```csharp public class MyCustomException : Exception { // 自定义异常的定义 } ``` 5. 异常处理最佳实践: - 只捕获你知道如何处理的异常,避免捕获所有异常。 - 在合适的层次捕获和处理异常,避免在每个方法都使用try-catch块。 - 记录异常信息,以便进行故障排除和日志记录。 - 在catch块避免使用空的catch语句,至少输出或记录异常信息。 - 使用finally块进行清理和资源释放操作。 - 使用using语句来确保及时释放使用了IDisposable接口的对象。 ```csharp try { using (var resource = new MyDisposableResource()) { // 使用资源的代码 } } catch (Exception ex) { // 处理异常的代码 } ``` 以上是一些常见C#错误处理和异常处理的技术和原则。合理地使用异常处理机制可以提高应用程序的健壮性和可靠性,减少潜在的错误和问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值