如何外部化错误消息

2024-04-05

这是一个外部化错误消息的最佳实践问题。

我正在开发一个项目,其中存在代码、简短描述和严重性错误。我想知道外部化此类描述的最佳方式是什么。我想到的是将它们放在代码中是不好的,将它们存储在数据库中,将它们放在属性文件中,或者可能有一个加载了描述的静态类。我想我会选择属性,但也许有更好的方法。

Thanks


Use a 资源包 http://download.oracle.com/javase/7/docs/api/java/util/ResourceBundle.html存储这些消息(以及其他用户界面消息,例如按钮和标签文本、加速器、快捷方式等)。下面是一个简短的示例,假设您有一个名为 ErrorMessages 的包,其中包含一个名为 error.NameOfErrorMessage 的错误,并且变量框架中有一个 JFrame。

ResourceBundle errorMsg = ResourceBundle.getBundle("ErrorMessages");
String currError = errorMsg.getString("error.NameOfErrorMessage");
JOptionPane.showMessageDialog(frame, currError);

欲了解更多信息,您可以查看关于资源包类 http://download.oracle.com/javase/tutorial/i18n/resbundle/concept.html在国际化教程中。

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

如何外部化错误消息 的相关文章

随机推荐

  • Pycharm不显示结果

    Pycharm不显示结果 进程已完成 退出代码为 1 但是当我调试它的工作并显示警告时 Debugger speedups using cython not found Run C Python27 python exe C Program
  • C# COM 自动化的双接口和仅调度接口之间的区别

    我正在针对 C COM 服务器实现一个 C COM 客户端 当我将 COM 接口标记为 Dual 时 COM 客户端可以正常工作 但当我删除 Dual 属性时 它会抛出 InvalidCastException 因此 对我来说最简单的解决方
  • PHP 8 严格类型强制应用于本机函数?

    我的代码适用于 PHP 7 round microtime 3 但在 PHP 8 中 致命错误 未捕获类型错误 round 参数 1 num 必须是 int float 类型 4 中给出的字符串堆栈跟踪 0 round 0 21066100
  • 嵌套 ng-repeat 性能

    我听说嵌套 ng repeats 会严重影响 Angular 的性能 如果它会导致大量带有 Angular 表达式的元素 我实际上已经遇到过这种情况 我正在尝试编写一些代码 我尝试使用bindonce https github com Pa
  • R - 从字符串右侧第 n 次出现字符后提取信息

    我见过很多次提取w gsub但它们主要处理从左到右或在一次出现后提取 我想从右到左匹配 数四次出现 匹配第 3 次和第 4 次出现之间的所有内容 例如 string outcome here are some words to try so
  • 在模板化派生类中,为什么需要在成员函数内使用“this->”限定基类成员名称?

    当我调查 Qt 的源代码时 我发现 trolltech 的人明确使用this关键字来访问析构函数上的字段 inline QScopedPointer T oldD this gt d Cleanup cleanup oldD this gt
  • 尽管安装了 Spyder-Terminal,Spyder 5 中仍然没有终端

    我在 Mac OS Big Sur 上安装了 Spyder 5 我从终端运行此命令 conda install spider terminal c spider ide 该命令运行没有错误 仍然没有终端 我一定做错了什么 因为终端没有显示在
  • 使用地图功能

    我遇到了问题map功能 当我想打印创建的列表时 解释器显示指针 gt gt gt squares map lambda x x 2 range 10 gt gt gt print squares
  • 我可以使用 Node.js 阅读 PDF 或 Word 文档吗?

    我找不到任何软件包来执行此操作 我知道 PHP 有大量的 PDF 库 比如http www fpdf org http www fpdf org 但是 Node 有什么用吗 textract https npmjs org package
  • Deno 中子进程如何向父进程发送消息?

    From 这个答案 https stackoverflow com a 62085642 6587634 我知道父进程可以与子进程通信 但是反过来呢 从工人那里你必须使用Worker postMessage https developer
  • SVG 图像在某些 Web 服务器上不显示

    我在某些服务器上的 html 文件中显示 svg 图像时遇到问题 这让我感到困惑 因为我认为是否渲染 svg 图像是由浏览器决定的 但浏览器保持不变 我使用以下字符串来显示它们 img src path to image svg alt i
  • F# 中的全局运算符重载

    我正在开始为笛卡尔积和矩阵乘法定义自己的运算符 将矩阵和向量别名为列表 type Matrix float list list type Vector float list 我可以通过编写自己的初始化代码 并获得笛卡尔积 let inlin
  • pytesseract 错误 Windows 错误 [错误 2]

    您好 我正在尝试使用 python 库 pytesseract 从图像中提取文本 请查找代码 from PIL import Image from pytesseract import image to string print image
  • C++ 中的列表析构函数

    我刚刚实现了链接列表 它工作得很好 但甚至很难 我已经看到我无法在 Node 上创建工作析构函数的符号 这就是为什么它在代码中未实现 我需要在节点上实现工作析构函数 List 的析构函数 但这一个很简单 我将只使用 Node 类的析构函数
  • MySql 数据在第 1 行的“提前”列被截断

    在我的项目中 我使用了 txtAdvance 的关键事件 double gtotal Double parseDouble txtGtotal getText double ad Double parseDouble txtAdvance
  • Rails:如何查询 activerecord 中模型的时间范围(而不是日期)值

    我有一个模型time属性 这是用户想要接收电子邮件的时间 即美国东部时间下午 5 点 的配置 它在数据库中存储为21 00 00 我想按范围查询 例如 我希望每个用户都有一个提醒时间20 55 00 and 21 05 05 Rails 似
  • 如果定义了 item,则 Ansible with_items

    安塞布尔 1 9 4 该脚本应该仅在定义了某些变量的主机上执行某些任务 正常情况下可以正常工作 但与with items陈述 debug var symlinks when symlinks is defined name Create o
  • 如何从 React JS 中的另一个组件获取引用

    主App组件中的代码如下 class App extends Component componentDidMount console log this ref debugger render return div div
  • 更改 Twitter 引导模式中的背景颜色?

    在twitter bootstrap中创建模态时 有什么方法可以更改背景颜色吗 完全删除阴影吗 注意 为了消除阴影 这doesn t有效 因为它也会改变点击行为 我仍然希望能够在模式外部单击以将其关闭 myModal modal backd
  • 如何外部化错误消息

    这是一个外部化错误消息的最佳实践问题 我正在开发一个项目 其中存在代码 简短描述和严重性错误 我想知道外部化此类描述的最佳方式是什么 我想到的是将它们放在代码中是不好的 将它们存储在数据库中 将它们放在属性文件中 或者可能有一个加载了描述的