处理java异常的最佳实践

2023-11-30

我开始学习 Java 并用 java 编写我的第一个实用程序类,这些类应该投入生产。当谈到处理异常时,我有点迷失。是否有关于给定代码行中有多少 try 语句的大概数字?

有多少代码应该处理异常......Eclipse 的任何插件?

最佳实践是在 try 块中包含 3-4 条语句并捕获异常,还是在 try 块中包含 10-12 行,然后包含 2-3 个 catch 语句来捕获不同类型的异常,例如由文件相关或我自己抛出的异常课程或其他一些第三方课程..? 前者有点不顺眼,而且代码太臃肿了。

这种常见的做法是仅将代码包围在 try 块中,这可能会引发异常,还是可以在 try 内部标记周围的代码,说明如何使用文件句柄等。

有什么指点吗..?


Q: “最好的做法是在 try 块中包含 3-4 条语句并捕获异常,还是……”

我认为你首先需要清楚异常。

try {
    ...some code that throws exceptions
} catch (Exception ex){
    ex.printStacktrace();
}

上面是处理异常的片段。在异常处理中,我们将可能产生异常的代码保留在try{}块中,如果try块中的语句产生异常,则会被捕获catch{} block.

Q: 是否在try块中包含3-4语句并捕获异常。

行数不是由 RULES 决定的。这取决于你的logic以及程序的要求。


以下链接可以帮助您清除关于 Java 异常的基础知识 : http://marakana.com/bookshelf/java_fundamentals_tutorial/exceptions.html

For 最佳实践关于 Java 异常,请遵循以下文章和 QA。

Java 或 C# 异常管理的最佳实践

http://www.wikijava.org/wiki/10_best_practices_with_Exceptions

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

处理java异常的最佳实践 的相关文章

随机推荐

  • 使用位置时防止元素显示在页脚顶部:固定

    我想使用CSS属性position fixed来固定元素的位置 但同时防止当用户滚动到页面底部时该元素位于我的页脚上方 有没有办法阻止元素以这种方式显示在页脚上 如果您希望有时固定元素而不是其他元素 则需要使用 JavaScript 来添加
  • 用于创建文件和日期的 csv 列表的 Windows 批处理文件

    我需要创建一个 Windows 批处理文件 该文件生成一个 csv 文件 其中包含目录中所有文件的三个字段 减去批处理文件本身 Fields 文件名 可以包含逗号 创建日期 修改日期 请注意 批处理文件将从目录运行 并且应该知道为当前目录中
  • Sql Server:索引列上的下部函数

    我发现一个大问题 我已将 Lower 函数添加到其中一个表的索引列中以获取数据 该表包含超过 100K 条记录 获取记录时 CPU 使用率达到 100 我无法理解 仅仅因为 Lower 函数 怎么会发生如此巨大的变化 请帮忙 如果您确实经常
  • 使用 strpos 进行多个搜索词匹配

    我想知道是否有人可以帮助解决我似乎无法解决的小问题 我的 此刻头在转圈 好的 我有一个包含大量信息行的 txt 文件 我正在尝试匹配关键字 与这些行并显示一定数量的匹配行 我将这段脚本放在一起 虽然它有效 但它只匹配一行 如果 单词的顺序与
  • 如何解决 AttributeError:“Resource”对象在 Google API 中没有属性?

    对于完整的上下文 我是脚本编写的新手 我正在尝试使用 Google 的 API 从 Google 管理员获取完整的用户列表 但我什至很难通过build 其中的一部分 无论我标记什么service它只是没有这个属性 除了close 我的最终目
  • 如何立即验证 Silverlight 3 Datagrid 中新插入的行?

    我有一个带有自定义 DataGrid 用户控件的 Silverlight 3 工具库 该网格无法直接访问 WCF RIA 服务实体类型 因此当用户在网格为空时单击网格时 我使用反射来添加新项目 private void InsertEmpt
  • 如何在 Python 3.2 中检查整数?

    我正在尝试编写一个程序 其中用户输入一个两位数整数 输出是打印第一位数字指示的次数的第二位数字 这是我到目前为止所拥有的 number input Type two digit integer n a int number 10 b int
  • 如何在 Elixir 中获取上个月

    如何在不使用 Elixir 中的包或库的情况下获取上个月的数据 例如 如果当前日期是2018 01 25 我会得到2017 12 25 或者如果当前日期是2018 03 31 我会得到2018 02 28 2018年不是闰年 Shehary
  • 如何在 Bootstrap 3 中在移动屏幕上显示桌面版本?

    如何在 Bootstrap 3 上在手机屏幕上显示桌面版本 I don t想要一个切换桌面 移动版本的链接 我只想在移动屏幕上显示桌面版本 需要明确的是 我希望该网站能够在平板电脑上做出响应 但是在 media screen max wid
  • 使用DecimalFormat时如何防止负号?

    我正在使用一个库 它允许我使用 DecimalFormat 模式配置数字格式化方式 我需要删除减号以显示数字的绝对值 我尝试了 0 00 0 00 和 0 00 但没有成功 我可以选择任何减号 例如 0 00 0 00 但我不能根本没有符号
  • c 警告:在常量表达式中使用 const 变量在 C 中是非标准的

    当我尝试将数组初始化为常量大小时 我收到此警告 2170 D 在常量表达式中使用 const 变量在 C 中是非标准的 file h typedef struct LED Blink Pattern LEDSeq void addError
  • 确定哪些(如果有)PCI 设备插入主板 PCI(e) 插槽

    我正在用 C 编写一个程序来在许多 Windows XP 工作站上执行硬件审核 我需要确定哪些 PCI 设备是通过主板插槽连接的实际卡 而不是也使用 PCI 总线 内置于主板中 的板载设备 我可以使用各种 WMI 类成功列出使用所有 PCI
  • 当单元格具有特定值时触发电子邮件

    我是一名篮球教练 我正在创建一个仪表板来监控我的球员的社交媒体 我正在使用 IFTTT com 将所有玩家的推文实时提取到电子表格中 我正在尝试编写一个代码 如果我的一个玩家使用了不恰当的单词 它将触发该单元格向我发送的电子邮件 我觉得我走
  • 在 C# 中引用另一个字符串

    据我所知 C 中的字符串是引用类型 因此 在下面的代码中 a 应该等于 Hi 但它仍然保留其值 Hello 为什么 string a Hello string b a b Hi 许多答案指出字符串是不可变的 虽然这是事实 但这与你的问题完全
  • Java 布局不显示组件(有时)

    我正在为我的学生编写一个 MathQuiz 包括用于渲染的 JLatexMath 和用于蜂鸣器的 jinput 问题是 有时 就像每四次一样 当我启动程序时 没有任何组件可见 它们在调整 JFrame 大小后出现 首先 我想到了 jinpu
  • G Suite 中的 Google Takeout 从 Google 云存储下载

    我是一家非营利组织的 G Suite 管理员 刚刚发现了数据导出功能 这似乎就像个人帐户的外卖 导出文件已准备就绪 现在可以从 Google Cloud Platform Storage 中的存储桶下载 然而 有很多很多文件夹 并且尝试进出
  • 是否可以下载文件的特定部分? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 所以我想下载一个文件 但我不需要全部 我是否可以跳过文件的前 1 4 并下载其余部分 我已经尝试过 python youtube dl 包 有一些我认为可能有用的相关标志 但我不
  • 如何删除深度未知的深层嵌套字典中的空字段或 None 字段?

    我有一本深度嵌套字典的字典 我试图删除所有 None 或 的 k v 对 下面的字典d是输入的示例 d 1 1 1 a real value 1 2 2 None 3 3 1 3 2 None 通常 要删除字典中的空字段 命令 k v fo
  • 二维数组的运算符[][]重载

    是否可以超载 操作员两次 为了允许 像这样 function 3 3 就像二维数组一样 如果可能的话 我想看一些示例代码 你可以超载operator 返回一个可以使用的对象operator 再次得到结果 class ArrayOfArray
  • 处理java异常的最佳实践

    我开始学习 Java 并用 java 编写我的第一个实用程序类 这些类应该投入生产 当谈到处理异常时 我有点迷失 是否有关于给定代码行中有多少 try 语句的大概数字 有多少代码应该处理异常 Eclipse 的任何插件 最佳实践是在 try