同样一个函数,有异常他的能返回错误,而我写的只能跑到catch

那该多好啊!!! 2023-05-17 19:08:28

 try
            {
                //轴卡初始化部分
                sRtn = mc.GTN_Open(2, 1);
                if (sRtn != 0)
                    throw new Exception("GTN_Open" + sRtn.ToString());
              ......................................................
            }
            catch (Exception ex)
            {

                MessageBox.Show("里面子函数抛出的异常" + ex);
            }

   当执行到 sRtn = mc.GTN_Open(2, 1);这个函数有异常的时候,别人写的代码这个异常能返回出来给sRtn一个值,然后交给throw new Exception。。

而我写的,执行到这 sRtn = mc.GTN_Open(2, 1);这个函数有异常的时候就直接跑到catch下面了。这是为什么?看了他的代码好像和我写的一样,

...全文
103 3 打赏 收藏 转发到动态 举报
写回复
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
大然然 05-18
  • 打赏
  • 举报
回复

盲猜别人写的mc.GTN_Open里有try catch 所以异常后返回了值, 你写的mc.GTN_Open里没有try catch 所以直接被下面的catch捕获到了

赵4老师 05-18
  • 打赏
  • 举报
回复

因为mc.GTN_Open(2, 1)内部已经抛异常了

  • 打赏
  • 举报
回复

mc.GTN_Open(2, 1);是调用固高运动控制 板卡初始化的函数,已经引用了这个库并且dll放在debug目录里了。

相关推荐

109,345

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者