您当前的位置: 首页 > 

插件开发

暂无认证

  • 1浏览

    0关注

    492博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

第一章 Adobe After Effects AE插件开发 SDK入门-异常捕捉宏

插件开发 发布时间:2022-04-07 08:02:22 ,浏览量:1

文章目录
    • 1.异常捕捉宏
    • 2.作者答疑

1.异常捕捉宏

  在AE插件开发中,为了方便捕捉常用的异常,申明了许多方便使用的异常宏,源代码如下所示:

#ifndef _PT_ERR_H_
#define _PT_ERR_H_


#define PT_XTE_START {A_Err _err = A_Err_NONE; try {

#define PT_CATCH_PART1		}	catch (long _tmp_err) { _err = _tmp_err; } \
								catch(std::bad_alloc&) { _err = A_Err_ALLOC; }
#define PT_CATCH_PART2		if (_err) {
#define PT_XTE_CATCH		PT_CATCH_PART1 PT_CATCH_PART2
#define PT_ENDTRY			} if (_err) throw ((long) _err); }

#define PT_NO_PROPAGATE		_err = A_Err_NONE
#define PT_XTE_ENDTRY(ERR)	ERR = _err; PT_NO_PROPAGATE; PT_ENDTRY

#define PT_XTE(EXPR) PT_XTE_START { EXPR; } PT_XTE_CATCH { ; } PT_XTE_ENDTRY(err)

#define PT_XTE_CATCH_RETURN_ERR		PT_XTE_CATCH A_Err retErr; retErr = _err; PT_NO_PROPAGATE; return retErr; }};	return A_Err_NONE;

#define PT_ETX(EXPR) { A_Err _res = (EXPR); if(_res != A_Err_NONE) throw _res;}

#define PT_ERR(EXPR) { if (!err) {	err = (EXPR);	}	}

#endif

  这些宏必须成对使用,否则由于代码不完全,而编译通不过。

2.作者答疑

  如有疑问,请留言。

关注
打赏
1665481431
查看更多评论
立即登录/注册

微信扫码登录

0.0415s