aba*_*hev 0 .net architecture exception
我正在为CLR脚本编写.NET On-the-Fly编译器.并且陷入两难境地:在构建失败时抛出异常是否更好?
那么什么是最佳实践观点,哪种方法更合适?
try
{
compiler.Compile(); // do not throws an exception only if build succeed
}
catch(CompilerException ex)
{
string err = ex.Message;
}
Run Code Online (Sandbox Code Playgroud)
要么
compiler.Compile(); // throws an exception only in case of crash, etc
if(!compiler.BuildSucceed)
{
string err = compiler.Output.ToString();
}
Run Code Online (Sandbox Code Playgroud)
异常应用于特殊情况.我会说失败的构建并不例外,所以你应该让编译器的接口返回一个表示成功或失败的值(例如bool或enum),并提供一个返回错误列表的接口.这可以简单到返回连接在一起的所有错误的字符串,或者它可能类似于事先将输出流传递给它,并且它会在遇到它们时将每个错误记录到该流.
| 归档时间: |
|
| 查看次数: |
127 次 |
| 最近记录: |