我想在Tridion 2011中存在特定条件时停止发布.在Razor模板中,我尝试:
throw new Exception("Exceptional condition!");
Run Code Online (Sandbox Code Playgroud)
但是,在Template Builder中它表示"成功".
有任何想法吗?
在VBScript模板中,我们会执行Err.Raise,它会将错误返回到Publish Queue.
这里绝对不是在基本剃刀中保代码,在模板中的错误应该表面的任何try/catch语句的机制(如你与你可能碰到了很多东西,razoring起来共同空引用的错误吧!).你应该检查一些事情:
是否执行异常的代码路径?正如Bart建议的那样,您应该通过Template Builder运行它,看看那里是否有任何有用的日志.抛出自己的调试语句以及找到代码路径的位置.
您的Exception是否在格式正确的剃刀声明中?
如果它是一个新的CT,页面模板的代码是否允许渲染你的CT?
我只是按如下方式设置了样本TBB(并将TBB添加到组件模板中):
<div>Testing an Error</div>
@{ throw new Exception("Exceptional condition"); }
Run Code Online (Sandbox Code Playgroud)
通过Template Builder运行在"输出"窗口中显示错误.使用CT预览包含组件的页面将失败并显示错误.发布页面显示"失败"状态,处理过的项目详细显示"异常情况!" 信息.
希望有所帮助,如果您仍然遇到问题,请随时发布您的代码,我会进一步调试!
| 归档时间: |
|
| 查看次数: |
237 次 |
| 最近记录: |