3

使用该Error()方法只会记录错误。但是如果我想中止构建怎么办?我可以抛出异常来中止构建,但它似乎不正确。那么有没有合适的中止方法呢?

var releaseNotes = ParseReleaseNotes("./ReleaseNotes.md");

if(releaseNotes.Version.ToString() != nugetVersion)
{
    Error("Release notes are missing an entry for v{0}. Latest release notes are for v{1}", nugetVersion, releaseNotes.Version);
    throw new Exception();
}
4

2 回答 2

3

Error方法只是记录错误的一种便捷方法。我理解这种混乱。

如果出现无法恢复的问题,则应抛出异常以指示它。然后,Cake 脚本运行程序将记录错误(使用Error方法)并返回退出代码 1 以指示出现问题。

于 2015-10-08T13:11:41.950 回答
1

好的,所以答案是抛出异常而不是使用这样的Error()方法:

var releaseNotes = ParseReleaseNotes("./ReleaseNotes.md");

if(releaseNotes.Version.ToString() != nugetVersion)
{
    throw new Exception("Release notes are missing an entry for v{0}. Latest release notes are for v{1}", nugetVersion, releaseNotes.Version);        
}
于 2015-10-08T11:32:35.757 回答