有一个基于数据库的应用程序正在与授权系统一起工作.如果用户未登录,则他们可以访问的唯一系统是授权系统,其中必须提供存储在数据库中的有效用户名和密码。
登录函数中有以下注释:
// NOTE: This is the only place in the program that will given an error about
// the DSN not being properly configured/connected, because this is the only
// place where that is a cause for concern - the other queries can only be
// accessed once the user is logged in, and once they are logged in, they
// obviously have a valid connection to the database.实际上,该程序中的其他查询不包括向用户显示有关数据库故障的详细错误;如果存在任何类型的错误,则静默地将其记录到一个文件中,供it和编程人员分析。
这是一个很好的设计决策吗?
发布于 2017-05-31 20:41:02
好吧,再读一遍评论-
这是程序中唯一会出现DSN未正确配置/连接的错误的位置。
如果这只是
配置
部分,这可能是好的-如果DSN点到错误的DB,你将无法登录和继续。但第二部分
已连接
令人深感不安。在现实世界中,网络连接问题确实会发生,虽然它可能没有意义,但确实向最终用户显示了整个错误调用堆栈,但他们绝对应该得到通知。出错了,例如,它们的from /数据没有保存/处理/任何东西。只是出于好奇,这是某个UI应用程序吗?如何处理错误?真的没有信息告诉最终用户出了什么问题吗?
https://softwareengineering.stackexchange.com/questions/349928
复制相似问题