|
1
7
我可以回答一个问题:你不需要假设你的用户是“愚蠢的”,你需要帮助他们使用你的应用程序。显示很好的提示,验证数据并解释原因,所以对他们来说很明显,如果你不能处理他们所做的事情(或者更具体地说,你让他们做的事情),不要当面撞到他们的脸上,显示一个很好的页面解释他们可以做什么,等等。 尊重他们,不要以为他们了解你的系统,你是来帮助他们的。 他们 . 关于第一部分,我通常会在当时编写大多数错误处理,稍后再添加一些内容。 我一般不会抛出那么多的异常。 |
|
|
2
3
假设您的用户什么都不知道,并且会以任何可能破坏系统的方式破坏您的系统。 然后相应地编写错误处理代码。 |
|
|
3
1
首先,也是最重要的,向用户清楚地了解您所期望的。第二,测试输入以验证它是否包含预期边界内的数据。 主要的例子是,我有一个带有电子邮件字段的表单。我们没有立即使用这些数据,因此没有对其进行任何检查。结果:大约1%的用户输入了他们的家庭地址。该字段被标记为“电子邮件地址”,显然用户只是在读第二个词,而忽略了第一个词。 解决方法是将标签改为简单地说“email”,然后测试输入。对于kicks,我们继续记录用户最初在该字段中键入的内容,以查看标签更改是否有帮助。是的。 此外,作为一般实践,您的函数应该测试输入,以验证它们是否包含您期望的数据。在您选择的语言中使用断言或其等价物。 |
|
|
4
1
当我编写代码时,会出现一些我所期望的异常,例如文件可能丢失,或者某些XML序列化可能失败。我知道这些例外情况会提前发生,我可以为他们处理。 但是有很多事情你无法预料,你也不应该尝试去做。放入一个全局错误处理程序和记录器,以便最终捕获并记录所有内容。然后,当您的测试人员和/或用户发现导致异常(即输入错误)的情况时,您可以决定是要为它进行进一步的处理,还是让它保持原样。 总结: 验证您的输入,但不要太多地盯着水晶球,因为您永远不会预料到用户可能会遇到的每一个问题。拥有一个全局处理程序和记录器,然后根据需要进行优化。 |
|
|
6
0
你必须假设你的用户是非常愚蠢的。总有人会找到一种方法给你输入你认为永远不会发生的信息。 我尽量使异常抛出尽可能细化,以便在出现问题时提供最佳反馈。如果你把所有的东西都放在一起,你就无法分辨是哪个错误导致了这个问题。 我通常先尝试处理错误案例(在获得功能代码之前),但这不一定是最佳实践。 |
|
|
7
0
有人已经提到 defensive programming . 不过,从用户体验的角度来看,有一些想法。
一旦您确定了用户应该和不应该做什么,您就能够有效地编写错误处理代码。您可以使用助手方法/类使这一点更容易实现。 关于在业务逻辑之前/之后/期间编写处理的问题,请这样考虑:如果您要制作400000个三明治,那么在同一时间添加所有芥末可能会更快,但也可能比单独制作每个三明治更无聊。谁知道呢,也许你真的喜欢芥末的味道… |
|
|
M.Jane · 组织和编写异常类的正确方法 7 年前 |
|
|
shubham daharwal · java中的内部捕获异常 7 年前 |
|
|
Jon · 如何在不需要任何操作的情况下处理Python异常 7 年前 |
|
|
felix1415 · C++捕获(标准::异常和e)与捕获(…) 7 年前 |
|
k0pernikus · 如何在scala中键入可能引发异常的函数? 7 年前 |