- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
您可以建议什么方法来处理从 API 到 UI 的错误消息?
在我从事的其他项目中,我们向 UI 发送错误代码,然后 UI 从文件中读取相应的消息,该文件可能只是另一个类或 resx。他们说对本地化很有用。
我在某处读到抛出异常是一个好习惯。我只是担心如果在 UI 端没有发现错误,程序会崩溃。
我在 UI 中使用 WPF,稍后将在服务中使用 WCF。这是一个Windows应用程序。
最佳答案
我建议抛出正常的 .NET 异常,以防 API 端出现错误。使用错误代码的最大缺点是,根据应用程序层的组织方式(DAL -> 业务逻辑 -> API -> UI),传播和处理它们可能会有很大的问题。
对于异常,您可以在任何级别轻松处理它们(通过使用 try-catch
构造)和重新抛出(例如,当您只需要记录异常并且堆栈下方有一段代码应该在其上处理它时)拥有)或“吞下”它们(但通常不推荐)。
至于如何处理 UI 级别的错误,我会让它们一直向上“流动”,然后“装饰”它们(例如,通过显示带有一些细节和故障排除提示的模式对话框)。例如,如果您正在使用 Web API,您可以从您的 API 返回适当的 HTTP 状态(401、403、500)并通过错误 Hook 在客户端处理它们,例如 $.ajaxError
这将显示某种模式对话框。在这里,您不是在发明自己的错误报告方式,而是利用 HTTP 规范已经定义的内容(因此,很容易理解行为并对其做出响应)。
我对 WPF 不是很熟悉,但我认为应该有类似于 Application_Error
的东西。在 WinForms 中 - 一个事件处理程序,您可以在其中检查错误并通过向用户显示一些漂亮的模式对话框来“装饰”它。
希望这可以帮助。
关于c# - 向 UI 传达错误消息的建议做法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20327771/
当我们的Infinispan集群(版本9.4.8.Final)出现异常时,出现异常的节点会将此信息发送给集群中的其他节点。这似乎是设计使然。 此事件可能会导致流量过大,从而导致超时异常,进而使节点想要
就我对 Redux 的理解而言,它是关于将 UI 的所有状态保存在一个存储中(以便能够轻松地重现某些状态并且没有副作用)。您可以通过触发 reducer 的触发操作来操纵状态。 我目前正在编写一个类似
如果我使用 QtConcurrent::run 启动一些异步执行函数,并使用 QFutureWatcher 监控返回的 future ,如果我可以在异步执行函数中做些什么来传达一些进度文本,这将导致
我是一名优秀的程序员,十分优秀!