在应用程序中编写Diagnostics
类是否常见? - 这不只是转储堆栈跟踪?如果是的话,需要做些什么呢?
我正在考虑用{/ 1>编写Diagnostics
类
diagnose(Class thisInstance, Exception ex)
。analyzeEnvironmentVariables()
analyzeAppSettings()
analyzeServers()
diagnodeAll()
:将创建所有类的实例,并查看它们是否已正确初始化我会在diagnose()
中致电catch()
:
catch(Exception ex)
{
Diagnostics.diagnose(this,ex);
}
在diagnose()
的每一个中,我都在考虑
analyzeEnvironmentVariables();
analyzeAppSettings();
analyzeServers();
diagnoseAll();
这是否正常完成?我知道如果这个类不能基于对各种参数的分析来实际诊断事物,那么整个类可能会减少到某种程度上扩展的日志记录功能。但是仍然想再考虑一下,并想知道通常做什么。
答案 0 :(得分:0)
这不是一个坏主意 - 通常在异常时的行为大多数情况下至少在其致命的时候是相似的,因此重构因此只有一个实现是一个好的举动。
考虑到这样做时不要过于依赖其他类 - 你不想把你的整个系统绑定在依赖关系中。还要考虑如果Diagnostics类本身抛出异常会发生什么。你不想以意想不到的方式压制和爆炸。