C# SMO传输会引发哪些异常?

C# SMO传输会引发哪些异常?,c#,exception,exception-handling,try-catch,smo,C#,Exception,Exception Handling,Try Catch,Smo,使用此代码时 try { transfer.TransferData(); } catch (SmoException smoex) { //Do something } catch (Exception ex) { //Do something else } 异常总是由第二个catch语句捕获。 有人知道为什么会这样吗 提前感谢发生这种情况是因为异常不是SmoException 它是一个异常或从异常派生的另一个异常类型,但不是异常SmoException确实是SmoE

使用此代码时

try
{
    transfer.TransferData();
}
catch (SmoException smoex)
{
    //Do something
}
catch (Exception ex)
{
    //Do something else
}
异常总是由第二个catch语句捕获。 有人知道为什么会这样吗


提前感谢

发生这种情况是因为异常不是
SmoException

它是一个
异常
或从
异常
派生的另一个异常类型,但不是
异常
<如果code>SmoException确实是
SmoException
或派生自
SmoException
的类,则第一个处理程序将捕获它。希望这句话读起来不像打字那么混乱

进一步阅读异常和异常处理:

文档没有说明抛出了哪些异常:


发生这种情况是因为异常不是
异常

它是一个
异常
或从
异常
派生的另一个异常类型,但不是
异常
<如果code>SmoException
确实是
SmoException
或派生自
SmoException
的类,则第一个处理程序将捕获它。希望这句话读起来不像打字那么混乱

进一步阅读异常和异常处理:

文档没有说明抛出了哪些异常:


使用此选项确定您实际遇到的异常情况:

try
{
   transfer.TransferData();
}
catch (Exception ex)
{
    var theRealExceptionTypeName = ex.GetType().Name;
}

使用此选项可确定实际得到的异常是:

try
{
   transfer.TransferData();
}
catch (Exception ex)
{
    var theRealExceptionTypeName = ex.GetType().Name;
}

谢谢,我会尝试一下,让你知道TransferException->使用Microsoft.SqlServer.Management.Common;谢谢谢谢,我会尝试一下,让你知道TransferException->使用Microsoft.SqlServer.Management.Common;谢谢