gpt4 book ai didi

c# - 为什么不尝试{} catch {}在C#中工作?

转载 作者:行者123 更新时间:2023-12-03 08:53:35 26 4
gpt4 key购买 nike

我在Visual Studio的程序中有一个try{} catch{}块。在try{}块中,我具有连接到DB的代码,当我运行该程序时,它将返回错误。在这种情况下,程序必须执行catch{}块,但是try{}块返回错误,程序停止。

try {
using (OracleConnection cn = new OracleConnection(DataBase.EDS_SDE_Connection)) {
cn.Open();
using (OracleCommand cm = cn.CreateCommand()) {
cm.CommandType = CommandType.StoredProcedure;
cm.CommandText = "EDS_FEAUTRE_CLASSES.DIS_ENA_TRG_LOG";
OracleParameter oParam = new OracleParameter("PISDISABLE", OracleDbType.Decimal);
oParam.Direction = ParameterDirection.Input;
oParam.Value = pIsDisable;
cm.Parameters.Add(oParam);
cm.ExecuteNonQuery();
}
}
bRet = true;
} catch (Exception ex) {
ClsShares.ShowMessage("", ex.Message);
bRet = false;
}

那是从下面突出显示的chekbox发出的:

enter image description here

最佳答案

默认情况下,并非所有异常类型都启用来破坏解决方案。您可以从“异常设置”窗口中选择启用的选项,如上图所示。
设置要抛出的CLR异常。这就是代码将中断的方式(如果没有try/catch),或者在您的情况下,try序列将中断,并且catch块将被执行。

对于不同的IDE:

VS2015: Debug -> Windows -> Exception Settings.

VS2012: Debug -> Exceptions more details

关于c# - 为什么不尝试{} catch {}在C#中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33967818/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com