找回密码 注册 QQ登录
一站式解决方案

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 19375|回复: 11
打印 上一主题 下一主题

CAA : CATIA 中是如何捕捉异常的

[复制链接]
跳转到指定楼层
1
发表于 2006-1-11 15:02:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
各位高手,我想在CATIA 中进行异常处理,但是在CATIA中try 不能用
并且CATIA 自己的CATtry 确无论如何也得不到异常。
请各位高手指点。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2006-1-12 09:26:21 | 只看该作者
原帖由 HNBoTree 于 2006-1-11 15:02 发表
各位高手,我想在CATIA 中进行异常处理,但是在CATIA中try 不能用
并且CATIA 自己的CATtry 确无论如何也得不到异常。
请各位高手指点。


CATTry,CATCatch都捕做不到?
等高手回答了
3
发表于 2006-1-12 12:38:03 | 只看该作者
同问,

如果我写了
CATTry
{
   CATDocumentServices::SaveAs(.....)
}
CATCatch(CATError, thiserror)
{
}
CATCatchOthers
{
}
CATEndTry;

如果SaveAs运行中出现异常,是不是应该抛出一个异常?
我这里说的出现异常不是说保存失败,而是说CATIA本身这个API在这情况下就有问题,出错了。

敬请高手回答。。。。。。。。。

万分感谢
4
发表于 2006-1-12 12:50:04 | 只看该作者
对我也说的是这方面的意思。
我发现catia 自己定义抛出异常是可以的,
如:
      CATTry{
        pCylinder = NULL;
        if(!pCylinder){
          rc = CATReturnError(.........));
          break;
        }
  
      }CATCatch(CATError, pError){
        rc = CATReturnError(......));
        break;
      }CATEndTry;


而向这样
     CATTry{
                char *pStr = "aaa";
                int a = static_cast<int> pStr;
        }
  
      }CATCatch(CATError, pError){
        rc = CATReturnError(......));
        break;
      }CATEndTry;

这样为什么不能抛出异常。
5
发表于 2006-1-13 12:14:58 | 只看该作者
呼叫CAA达人,acoka兄等。。。。。。。。
6
发表于 2006-1-13 12:32:06 | 只看该作者
不是所有的运行问题都会抛出异常的呀。
我的理解是,只有在API中封装的代码中有异常抛出的时候CATTry才能捕获异常。
我好像看到过,在帮助中有些API会有说明:抛出什么异常。
7
发表于 2006-1-14 12:08:53 | 只看该作者
那怎么样能够捕捉到非CATIA 的API 抛出的异常。
我现在caa 中使用其他库的API ,此API运行错误,我想获得它抛出的异常,应该怎么做?
8
发表于 2006-1-14 12:45:57 | 只看该作者
多谢cms_nuaa兄的回答!
有点不明白的,CATDocumentServices::SaveAs(.....)这个就是CAA中的函数啊,它出错应该会抛出一样的,但是实际上啥都没有就直接crash了。。。。。。。。迷惑中
9
发表于 2006-1-16 20:47:17 | 只看该作者
CAA不主张用异常,因此只有很少几个API抛出异常。其结果是,若要判断一个函数是否执行正确,必须看返回值,导致程序里一大堆if...else..., 大大降低了程序的可读性。不知各位有无同感
10
发表于 2006-1-17 10:01:03 | 只看该作者
很讨厌看有好几层的 if/ for嵌套的程序

设计得好了话,应该可以避免

评分

参与人数 1技术 +2 收起 理由
hick + 2 热心回答问题

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-12-24 00:44 , Processed in 0.023504 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

快速回复 返回顶部 返回列表