2 haotangchao haotangchao 于 2016.05.10 19:23 提问

C#中捕获了两个同类异常

我在用C#连接数据库时,有两个异常可以捕获,两个异常是不同的异常但是同属sqlException,这时我该怎么去分别捕获这两个异常? 求助

2个回答

CSDNXIAON
CSDNXIAON   2016.05.10 19:32

两个小异常
c#的异常捕获
c#中的捕获派生类异常
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

qq423399099
qq423399099   Ds   Rxr 2016.05.12 15:31

SqlException 有一个 Number property 你可以根据这个判断. 比如duplicate error的number值是2601.

 catch (SqlException e)
{
   switch (e.Number)
   {
      case 2601:
         // Do something.
         break;
      default:
         throw;
   }
 }
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
c#在程序中调用另一个程序,并进行异常捕捉——System.Diagnostics.Process
1.启动子进程,不等待子进程结束 private void simpleRun_Click(object sender, System.EventArgs e) { System.Diagnostics.Process.Start(@"C:listfiles.bat"); } 2.启动子进程,等待子进程结束,并获得输出 1private void runSyncAndGetRes
输入任意两个整数,求两者的商。使用异常处理机制捕获零除异常和参数格式异常
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) {
如何捕获子线程异常
一 直接在主线程捕获子线程异常(此方法不可取) using System; using System.Threading; namespace CatchThreadException { class Program { static void Main(string[] args) { try {
捕获多个异常
当遇到异常时,除了可以将异常抛出,还可以将其捕获。抛出虽然简单,但是有时却不得不使用捕获来处理异常。如果程序遇到异常而没有捕获,则程序会直接退出。这在大多数情况下是不能被接受的,至少需要保存程序当前状态才能退出。本实例将演示如何捕获多个异常,实例运行效果如图 Java中捕获异常是通过try、catch和finally 3个块来完成的。其中try块是必需的,catch和finall
C++ 抛出并捕获多个异常
// Project20161020.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include #include #include #include using namespace std; /** 抛出并捕获多个异常 */ void readIntegerFile(const string& fileName, vector &
C#调用C++库,如何捕获异常
.net 40 中,c# 默认情况下只处理SEH的异常。不处理CSE的异常。若你要捕获这类的异常。 你需要再对应的方法上面加上 C# code ? 1 2 3 4 5 6 7 8 9 10 [HandleProcessCorruptedStateExceptions] [S
关于使用多个 catch 语句捕获多个异常问题
今天看到理工大学的JAVA试题:     当使用多个 catch 语句捕获多个异常时, Java 规定捕获 Exception 的 catch 语句必须排在最后,如下所示:       try { …… }     catch(ClassCastException ex){ …… }     catch(NumberFormatException ex){ …… }
.net C# 捕获所有未捕获异常
using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; using CCT.Ctcw.Windows.Comm; using System.Threading; namespace CCT.Ctcw.Windows {     sta
建议66:正确捕获多线程中的异常
建议66:正确捕获多线程中的异常 多线程的异常处理需要采用特殊的方式。一下这种方式会存在问题: try { Thread t = new Thread((ThreadStart)delegate { throw new Except
捕获Entity framework验证异常
Entity framework在验证未通过的时候默认不会抛出详细异常,这给我们debug带来很大的困难,不过我们可以手动捕获,见代码: private int Update(Employee entity) { string error = string.Empty; using (NorthwindEntities ctx =