我知道这听起来很奇怪,但我需要为每个方法放置一个包装 try catch block 以捕获所有异常。我们有数以千计的方法,我需要以自动化的方式进行。你有什么建议?
我计划解析所有 cs 文件并检测方法,并在应用程序中插入一个 try catch block 。你能给我推荐任何我可以轻松使用的解析器吗?或任何对我有帮助的...
每个方法都有它唯一的编号,比如5006
public static LogEntry Authenticate(....)
{
LogEntry logEntry = null;
try
{
....
return logEntry;
}
catch (CompanyException)
{
throw;
}
catch (Exception ex)
{
logEntry = new LogEntry(
"5006",
RC.GetString("5006"), EventLogEntryType.Error,
LogEntryCategory.Foo);
throw new CompanyException(logEntry, ex);
}
}
我为此创建了这个; http://thinkoutofthenet.com/index.php/2009/01/12/batch-code-method-manipulation/
最佳答案
不要这样做。宠物小 Sprite (“必须捕获他们”)错误处理没有充分的理由。
编辑:几年后,需要稍作修改。相反,我会说“至少不要手动执行此操作”。使用 AOP 工具或编织器(如 PostSharp 或 Fody)将其应用于最终结果代码,但一定要考虑其他有用的跟踪或诊断数据点,例如捕获执行时间、输入参数、输出参数等。
关于c# - 解析 C#,查找方法并将 try/catch 放入所有方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/416616/