为了使部署更容易,我希望我的应用程序在数据库上自行创建预定义角色。如果由于某种原因,它是第一次在当前数据库上运行,但它无法创建角色PE,则存在连接错误,应用程序将立即终止,并返回Environment.Exit(-1);。
这是一种糟糕的做法吗?若有,原因为何?我的替代方案是什么?
为清晰起见进行编辑:我用log4net记录每个异常/错误。
发布于 2021-09-20 15:55:44
只要您知道应用程序终止的原因,就不会有问题。如果这是在生产中,如果发生这种情况,您也应该得到一个警告。
至少,您应该记录错误。对于DB连接,您可以添加逻辑以尝试重新连接一段时间或永远重新连接,具体取决于您的要求。根据从数据库返回的错误,您可以重试或不重试。
在我的应用程序中,我采取了一种永远尝试的方法,但确保记录我得到的任何错误,例如错误的凭据或超时。有第三个系统来监控错误并提醒你也是一件好事。
发布于 2021-09-20 15:33:17
是的,这是一种糟糕的做法,但这取决于谁在使用它。你是唯一的一个,还是人们会被一个没有解释的退出的力量所困扰?
在很多情况下,显示带有少量解释或错误代码的警报/消息会很有用。如果可能,记录你从数据库中得到的错误,如果你的应用程序的用户知道如何处理它,你也可以在警报/消息中分享它。
https://stackoverflow.com/questions/69257068
复制相似问题