在 BLL 中处理异常并返回给客户端(winforms 或 webforms)?

2024-02-18

我正在寻找进行异常处理的最佳方法,例如......当业务逻辑层中发生错误时,使用 catch 停止方法并将事件返回到表示层的最佳方法是?

这个活动应该包含什么内容?

或者我应该总是冒泡异常并在表示层中处理它们?

任何人都有一些很好的链接,并且需要阅读有关处理异常的最佳方法以及如何在客户端中处理异常的内容......

例如,如果我在 BLL 中收到 Null 异常,那么我可以捕获此异常。但是最好的方法是什么?返回到表示层并通知它该问题。

事件?或在演示文稿中进行另一次尝试/捕捉?


你可以做几件事;

  1. 当出现意外错误时,专注于改善用户体验。

  2. 始终在事件日志或数据库中记录错误。

  3. 实施足够的基础设施,以防止异常发生,除非是系统异常。

  4. 使用 throw 而不是抛出异常

一些可以帮助您的链接:

  1. http://today.java.net/pub/a/today/2003/12/04/exceptions.html http://today.java.net/pub/a/today/2003/12/04/exceptions.html

  2. http://www.onjava.com/pub/a/onjava/2003/11/19/exceptions.html http://www.onjava.com/pub/a/onjava/2003/11/19/exceptions.html

  3. http://www.codeproject.com/KB/architecture/exceptionbestpractices.aspx http://www.codeproject.com/KB/architecture/exceptionbestpractices.aspx

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 BLL 中处理异常并返回给客户端(winforms 或 webforms)? 的相关文章

  • 当文本框中有字符串时如何启用按钮?

    我在 form2 中有一个文本框和一个按钮 当单击 form1 中的某个项目时 将出现 form2 我想在文本框为空时保持 form2 中的按钮处于禁用状态 但是当用户开始输入时 我想启用该按钮 我尝试在构造函数中像这样在initialis
  • 具有白色背景的组合框 DropDownList 样式

    我想要一个不可编辑的组合框 但仍然显示白色背景颜色 因此它的样式有效地类似于默认的组合框样式 DropDown ComboBoxStyle DropDownList 仅提供标准的 禁用 灰色背景色 简单地设置 BackColor Color
  • 如何捕获一个 int

    我正在使用 IL 抛出一个 Int32 并捕获它 这只是出于好奇 我并没有试图实现任何目标 所以请不要告诉我抛出异常而不是 int method private hidebysig static void Main string args
  • 如何从网站下载 .EXE 文件?

    我正在编写一个应用程序 需要从网站下载 exe 文件 我正在使用 Visual Studio Express 2008 我正在使用以下代码 private void button1 Click object sender EventArgs
  • 使用按钮在表单之间传递变量[重复]

    这个问题在这里已经有答案了 我想知道如何将一个整数从 form1 传递到 form2 我尝试通过打开 form2 的按钮来执行此操作 但事件按钮单击无法识别整数 我该怎么办 在form1中 我有整数x 我希望当我单击button1时 for
  • 处理“EJB 不存在”或“无法从 BACKUPSTORE FOR Key 加载”

    所以问题很简单 我们使用 JSF 2 0 与 Primefaces 和 EJB 来处理我们的应用程序 但遇到了问题 我们有一个单 SessionScoped我们存储所有的bean Stateful Session Beans 在一种情况下
  • C# using 语句是否执行 try/finally ?

    假设我有以下代码 private void UpdateDB QuoteDataSet dataSet Strint tableName using SQLiteConnection conn new SQLiteConnection co
  • 如何在 C# 事件中区分更改是由代码还是由用户进行?

    我有一个简单的TextBox一开始是空的 我有一个简单的事件 TextChanged 可以知道用户何时更改了其中的任何内容TextBox 但是 如果我自己在代码中对其执行任何操作 该事件就会触发 喜欢设置textbox Text Test
  • Winforms——多选下拉列表

    我正在寻找一个允许我选择多个项目的下拉列表控件 类似于 CheckedListbox 但采用下拉列表形式 我不希望它占据屏幕的很大一部分 此时我非常确信 NET 中不存在这样的内置控件 请注意 这是 Winforms 而不是 ASP NET
  • 如果另一个 Activity 崩溃,Android 将返回到前一个 Activity

    有没有办法让Android返回到以前的状态Activity在我的应用程序中 如果另一个Activity导致抛出未处理的异常 您可以尝试使用Thread setDefaultUncaughtExceptionHandler http deve
  • LinkLabel 无下划线 - Compact Framework

    我正在使用 Microsoft Compact Framework 开发 Windows CE 应用程序 我必须使用 LinkLabel 它必须是白色且没有下划线 因此 在设计器中 我将字体颜色修改为白色 并在字体对话框中取消选中 下划线
  • 如何将图标添加到桌面上的应用程序快捷方式

    我希望当用户运行我的 C 应用程序时 该应用程序将创建一个桌面快捷方式来运行应用程序 我使用这个代码 private void appShortcutToDesktop string linkName string deskDir Envi
  • PowerShell Get-ChildItem 如何捕获异常

    我目前正在编写一个可视化错误 GUI 它可以在处理时捕获任何异常 并向用户提供 易于理解 的错误消息 但似乎我在使用时无法捕获任何异常Get ChildItemcmdlet 我是否必须使用与 try catch 不同的方法 这是 Power
  • 如何在特定时间以毫秒精度触发 C# 函数?

    我有两台计算机 它们的时间通过 NTP 同步 确保时间仅相差几毫秒 其中一台计算机将通过 TCP 向另一台计算机发送一条消息 以在两台计算机上的未来指定时间启动某个 c 函数 我的问题是 如何在特定时间以毫秒精度 或更好 触发 C 中的函数
  • C# winform 如何在按钮第二次单击时文本框变为空?

    在一个表单中 我有一个组 Box 其中包含带有 4 个选项卡的选项卡控件 在第二个选项卡中 我有一些文本框 在保存数据之前 我需要验证在这些文本框中输入的输入 请注意我的保存按钮位于最后一个选项卡中 以下测试场景有效 第一个文本框中的输入无
  • 终止处理程序可以抛出异常吗?

    以下程序的定义行为是什么 如果有 include
  • 如何在winform的中心设置控件?

    您好 我正在尝试在表单中心设置控件 即标签或文本框 当我最大化该形式时我需要这个 我可以静态或动态设置它吗 大家有什么想法请尽快告诉我 将控件放在中心并设置Anchor财产给None
  • 如何在 Windows 窗体中制作窗体模式?

    我正在尝试创建一个子表单 帮助用户在父表单中的字段中输入数据 我希望这个子表单是模态的 但是我需要做什么才能使这个表单成为模态 我需要使用其他类型的物品吗 Use Form ShowDialog http msdn microsoft co
  • 反序列化时出现 Gson 异常(无参数构造函数不存在)

    我遇到了一个问题 该问题仅在 5000 台设备中的 10 台中出现 无法用我的模拟器和测试设备重现它 这似乎是一个非常具体的问题 仅涉及少数设备 我所拥有的只是堆栈跟踪和我的代码 因此 我正在针对黑洞进行开发 只有在 GooglePlay
  • 如果异常保存在 std::exception_ptr 中,那么在 catch 语句之外使用异常是否安全?

    我有一个std exception ptr其中有一个例外 我要调用std rethrow exception要获取实际的异常 catch 语句之后的异常是否有效 我的猜测是 因为我仍然持有std exception ptr它仍然有效 参见示

随机推荐

  • 如何对齐和居中输入字段?

    我有一个 HTML 表单 输入字段已经居中 但它们没有垂直对齐 我想让所有标签和输入垂直对齐 以便所有标签都在同一垂直线上 并且所有输入都在同一垂直线上 到目前为止 我所拥有的只是 div 内的字段 div class container
  • 更好的 Django 管理 ManyToMany 字段小部件

    我找到了 Django Admin 的默认设置models ManyToManyField小部件使用起来很麻烦 这是HTML 选择 http www htmlcodetutorial com forms SELECT MULTIPLE ht
  • mysql.server 启动时出现 PID 错误?

    我刚刚尝试使用自制程序 在 Mac OS X 10 6 上 安装 MySQL 但我在第一个障碍时遇到了问题 当尝试手动启动服务器 mysql server start 时 出现以下错误 ERROR Manager of pid file q
  • 在 CSS 中将内部 div 与右下对齐

    将我的内部 div 放在右下角的最简单方法是什么 div style width 200px height 200px border 3px FF6666 solid div style font weight bold text alig
  • 使用 RxJS 从多个 API 调用构建数据

    我试图更好地了解如何使用 RxJS 运算符来解决我遇到的特定问题 我实际上有两个问题 但它们很相似 我正在从 API 端点获取一堆文档 api v3 folders folderId documents我已经设置了具有执行此操作的功能的服务
  • 按下按钮时 GPIO 事件检测不给出输出

    以下 python 脚本应该等待按钮按下 打印按钮按下消息 然后退出 但是 当我按下按钮时 什么也没有打印 然后 当我按回车键时 脚本会打印 检测到按钮按下 然后停止 我如何修复此代码 以便在按下按钮时打印 检测到按钮按下 我按照教程制作了
  • 使用Guava Cache将数据持久化到硬盘

    我是番石榴缓存的新手 如何在缓存中创建以下内容 像平常一样将数据保存在内存中 当缓存的大小超过给定的数字时 它将把缓存中的数据持久保存在硬盘上的可配置文件中 这可能会有所帮助 扩展 Guava 缓存以溢出到磁盘 http www javac
  • 将参数传递给 data.table 聚合函数

    我有一个函数可以计算变量的加权平均值 并使用以下方法按时间段对其进行分组data table聚合语法 但是 我想以编程方式提供加权列的名称 有没有办法在仍然使用传统方法的情况下实现这一目标data table句法 功能wtmean1下面演示
  • 应用程序在后台被杀死时的应用程序生命周期

    关于我遇到的问题的一些背景 在我的应用程序中 我有一个单例对象 我经常使用它来访问网络调用的 id 和令牌等内容 有时 当应用程序在后台被终止时 这个单例就会失去其状态 但是 当应用程序再次打开并在某些情况下启动时Activity经过发射器
  • 执行shell命令(c)

    这部分代码指示我的程序 生成屏幕截图 生成命令并退出 关闭 自身 这可用于使用程序中的键切换到程序 例如生成 gimp 或用户想要使用的另一个图像编辑器 case SWITCH TO if arg char commandline 256
  • Android 单元测试的最佳实践?

    我正在开发一个移动安卓应用程序 Android 单元测试最常用的库 框架有哪些 我感觉大部分业务逻辑 数据库测试 Web服务测试都可以使用JUnit来完成 但是 测试 UI UI 工作流程等的最佳方法是什么 例如 我们如何测试Android
  • Mechanize 无法在 Google Appengine 中自动登录 Gmail

    我已经使用 mechanize 并在 GAE 上部署了一个应用程序 它运行良好 但是 对于我正在制作的应用程序 我正在尝试通过 mechanize 自动登录 Gmail 它在本地计算机上的开发环境以及部署在 appengine 上后都不起作
  • 重新定义后更新变量值

    一个新手问题给各位 R 朋友 案例场景 我定义变量A A 数字 我根据A定义其他变量 B number A 我改变A的定义 A 不同的数字 问 如何让 R 自动更新 B 的值 而不需要再次重新定义它 例如 1 A 1000 2 B A 10
  • 如何在android中使用相机捕获自定义尺寸的图像?

    如何在android中捕捉方形图像 我想在android中通过intent调用Camera来捕获方形图像 例如300x300像素 我该怎么做 编辑 自 API 级别 21 起已弃用 使用 Camera Size 嵌套类 http devel
  • java.io.EOFException 与 paho

    我想对蚊子进行压力测试 所以我创建了一些代码 如下所示 for int i 0 i lt 800 i final int j i Thread t new Thread new Runnable Override public void r
  • 为什么 Sun Java 中的 HashSet 实现使用 HashMap 作为其支持?

    查看Java 6的源码 HashSet
  • 使用 SugarORM 和 GSON 解析字符串 id

    我在用着GSON创建一个SugarRecord来自 json 响应的对象 我使用的API返回一个名为 id 的字段 但 id 的类型是字符串 而不是long 后端使用mongo 下面是我正在使用的代码 Gson gson new Gson
  • 在 xaml 中创建字典?

    伪示例
  • 使用 JodaTime Instant 与 Hibernate 进行版本控制

    Using java time Instant与 Hibernate 一起工作 我正在使用hibernate java8 给出了更多的解决方案here https stackoverflow com a 26455446 581205 使用
  • 在 BLL 中处理异常并返回给客户端(winforms 或 webforms)?

    我正在寻找进行异常处理的最佳方法 例如 当业务逻辑层中发生错误时 使用 catch 停止方法并将事件返回到表示层的最佳方法是 这个活动应该包含什么内容 或者我应该总是冒泡异常并在表示层中处理它们 任何人都有一些很好的链接 并且需要阅读有关处