您的异常消息是否以句点结束? [关闭]

2024-01-06

我见过带句点和不带句点的异常消息。我可以想出一些理由来解释为什么两者都可以很好。

  • 如果您愿意,没有点可以让您自由添加或省略句点。如果消息出现在某种标题栏或其他东西中,可能会很有用。
  • 有了点,你总是知道你有一个“完整的句子”,而且看起来更完整。

您推荐哪一款?

也可能是本地化资源字符串的问题。显然,您不能在所有内容后面加上句点(在按钮和菜单项等的文本后面加上句点看起来很奇怪)。但是,您是否应该将句号从所有内容中删除以保持一致,然后在有用的地方添加它?或者您愿意在合适的地方加上句号?例如,所有资源字符串和异常消息都是句子之后,但不是单词之后。那么,非常短的句子又如何呢?例如,“创建一个新文件”。也许也可以省略被视为操作的字符串的句点...(只是在我在这里打字时思考...)

我知道,这不是世界上最重要的事情,而是像这样的小事情,一段时间后就会让我烦恼。我喜欢一致性,喜欢知道为什么要做我所做的事情。问题是,我不确定该选择哪一个:p


问:您的异常消息是否以句点结束?

From Best Practices for Exceptions https://msdn.microsoft.com/en-us/library/seyhszts%28v=vs.110%29.aspx on MSDN in the section "Creating and raising exceptions":

  • 使用语法正确的错误消息,包括结局 标点。异常描述字符串中的每个句子 应该以句号结束。例如,“日志表已溢出。” 将是一个合适的描述字符串。

以及关于可能向user通过应用程序用户界面,问题包括:

...也可能是本地化资源字符串的问题。

上面引用的 MSDN 文章还指出:

  • 在每个异常中包含本地化的描述字符串。错误 用户看到的消息源自描述字符串 抛出的异常,而不是来自异常类。

Also, from Exception.Message Property https://msdn.microsoft.com/en-us/library/system.exception.message%28v=vs.110%29.aspx at the beginning of the section "Remarks":

错误消息针对正在处理异常的开发人员。这 Message 属性的文本应完整描述错误,并且, 如果可能的话,还应该解释如何纠正错误。顶层 异常处理程序可能会向最终用户显示消息,因此您应该 确保语法正确,并且每个句子 消息以句点结束。不要使用问号或感叹号 点。如果您的应用程序使用本地化的异常消息,您 应确保其翻译准确。


.NET Framework 4.6 and 4.5

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

您的异常消息是否以句点结束? [关闭] 的相关文章

  • 锁定 ASP.NET 应用程序变量

    我在 ASP NET 应用程序中使用第三方 Web 服务 对第 3 方 Web 服务的调用必须同步 但 ASP NET 显然是多线程的 并且可能会发出多个页面请求 从而导致对第 3 方 Web 服务的同时调用 对 Web 服务的调用封装在自
  • 进程退出后 POSIX 名称信号量不会释放

    我正在尝试使用 POSIX 命名信号量进行跨进程同步 我注意到进程死亡或退出后 信号量仍然被系统打开 在进程 打开它 死亡或退出后是否有办法使其关闭 释放 早期的讨论在这里 当将信号量递减至零的进程崩溃时 如何恢复信号量 https sta
  • 将 OpenCV Mat 转换为数组(可能是 NSArray)

    我的 C C 技能很生疏 OpenCV 的文档也相当晦涩难懂 有没有办法获得cv Mat data属性转换为数组 NSArray 我想将其序列化为 JSON 我知道我可以使用 FileStorage 实用程序转换为 YAML XML 但这不
  • 在 ASP.NET MVC 中将模型从视图传递到控制器

    我正在 ASP NET MVC 中开发我的第一个应用程序 但遇到了一个我无法解决的问题 即使在阅读了整个互联网之后也是如此 因此 我有几个使用视图模型创建的视图 它们是报告 这些视图模型是根据用户选择标准填充的 我正在尝试构建一种接受模型并
  • 将下拉列表与字典绑定

    我将字典绑定到下拉列表 举例来说 我的字典中有以下项目 Test1 123 Test2 321 我希望下拉文本采用以下格式 Test1 Count 123 Test2 Count 321 我沿着以下路径走 但没有运气 MyDropDown
  • 全局使用和 .NET Standard 2.0

    我最近意识到我可以使用 C 10 功能文件范围的命名空间在 NET Standard 2 0 项目中也可以通过设置
  • 为什么需要数字后缀?

    C 语言 我确信还有其他语言 需要在数字文字末尾添加后缀 这些后缀指示文字的类型 例如 5m是一个小数 5f是一个浮点数 我的问题是 这些后缀真的有必要吗 或者是否可以从上下文中推断出文字的类型 例如 代码decimal d 5 0应该推断
  • 将日期时间转换为指定格式

    我有这个日期格式yy MM dd HH mm ss ex 12 02 21 10 56 09 问题是 当我尝试使用以下代码将其转换为不同格式时 CDate 12 02 21 10 56 09 ToString MMM dd yyyy HH
  • 通过 C# Mailkit / Mimekit 发送电子邮件,但出现服务器证书错误

    Visual Studio 2015 中的 0 代码 1 我正在使用 Mailkit 最新版本 1 18 1 1 从我自己的电子邮件服务器发送电子邮件 2 电子邮件服务器具有不受信任的自签名证书 3 我在代码中添加了以下两行 以忽略服务器证
  • 使用 C# 中的 Google 地图 API 和 SSIS 包获取行驶距离

    更新 找到了谷歌距离矩阵并尝试相应地修改我的代码 我在这里收到无效参数错误 return new GeoLocation dstnc uri ToString catch return new GeoLocation 0 0 https 基
  • 时间:2019-03-17 标签:c++fstream并发访问

    如果从不同的进程 线程同时访问文件会发生什么 据我所知 没有锁定文件的标准方法 只有操作系统特定的功能 就我而言 文件将被经常读取而很少写入 现在如果A打开一个文件进行读取 ifstream 并开始读取块 和B打开相同的文件进行写入 ofs
  • 无法为 wsdl 文件创建服务引用

    I have wsdl文件和xsd我本地机器上的文件 我想在项目中添加服务引用 我没有网络服务 我只有wsdl file 我收到以下错误 The document was understood but it could not be pro
  • C++ 到 C# 事件处理

    所以我有我的C WinForm 应用程序 我从中调用我的C CLI MFC dll图书馆 但也有一些events在我的 C 库上 甚至此事件也发生在该库的本机 非 CLI 部分 我需要从我的 C 应用程序调用一些代码 并获取一些有关此事件的
  • doxygen c++:记录由“using”声明公开的私有继承成员

    作为一个例子 我有以下课程 class A public void methodOne class B private A public Brief description using A methodOne 我还没有找到强制 doxyge
  • C# 中的 C/C++ 代码编译器

    在 C 中 我可以使用下面的代码编译 VB 和 C 代码 但无法编译 C C 代码 有什么办法可以做到这一点吗 C 编译器 public void Compile string ToCompile string Result null st
  • C 中使用 getrandom 实现随机浮点数

    我试图生成一个介于 0 和 1 之间的随机浮点数 无论是在 0 1 还是 0 1 对我来说都不重要 网上关于此的每个问题似乎都涉及rand 呼叫 播种time NULL 但我希望能够每秒多次调用我的程序 并每次都获得不同的随机数 这引导我找
  • 有没有办法直接在函数参数中格式化字符串而不是使用临时字符串?

    我有一个接受字符串 字符数组 作为参数的函数 void enterString char my string 当使用这个函数时 我经常发现自己想要输入格式化的字符串 我使用 sprintf 来做到这一点 然而 我每次都必须创建一个临时字符串
  • 如果“嵌入式”SQL 2008 数据库文件不存在,如何创建它?

    我使用 C ADO Net 和在 Server Management Studio 中创建的嵌入式 MS SQL 2008 数据库文件 附加到 MS SQL 2008 Express 创建了一个数据库应用程序 有人可以向我指出一个资源 该资
  • 这种尺寸对齐是如何工作的

    对于所提供的评论 我无法理解以下代码 这段代码的作用是什么 以及等效的代码是什么8 aligned segment size must be 4 aligned attr gt options ssize 3 Here ssize is o
  • 将 char 绑定到枚举类型

    我有一段与此非常相似的代码 class someclass public enum Section START MID END vector section Full void ex for int i 0 i section

随机推荐

  • 弱阻力和强阻力有什么区别

    我读过一些关于强抗碰撞性和弱抗碰撞性的文章 但我无法理解其中的区别 我唯一能理解的是 具有弱抗碰撞性的哈希函数发生碰撞的概率较低 而具有强抗碰撞性的哈希函数发生碰撞的概率较高 我无法理解什么是真实的东西 这些参数的意义是什么 谁可以帮我这个
  • 按组选择事件首次发生之前的行

    我有一系列的观察结果 描述了是否以及何时在特定区域发现动物 下面的示例表标识了何时看到某种动物 status 1 或不 status 0 白天 id date status 1 1 2014 06 20 1 2 1 2014 06 21 1
  • CMake路径错误

    我正在尝试为 kinect 演示构建 Visual Studio 项目 rgbddemo http nicolas burrus name index php Research KinectRgbDemoV5 根据页面上的说明 我需要设置
  • 如何获得向量中函数的多个输出?

    假设我有一个函数 其输出是两个实数 a 和 b a b function c 我想获得向量 v 中的所有输出 v function c 没有执行我想要的操作 v 只是 a 当然这里我可以做v a b 但所讨论的函数是 N 维数组的 ind2
  • Ionic 1 推送通知

    有人有 ionic 1 推送通知的经验吗 他们建议的云解决方案有其他替代方案吗 有人可以展示实施示例吗 请记住 我对 ionic 完全陌生 我用这个插件https github com phonegap phonegap plugin pu
  • 如何在 asp.net mvc 3 项目中路由 .aspx 页面?

    我在以下路径中有一个 aspx 页面 Areas Management Views Ticket Report aspx 我想将其路由到浏览器中的以下路径 http localhost Reports Tickets 我怎样才能做到这一点
  • MVC 3 模型验证问题 - 疏忽或有意为之

    我遇到了一个场景 我需要知道当前正在验证哪个属性在一个习惯中ValidationAttribute 我认为这在 MVC 3 中会很容易 因为ValidationContext正在被传递到IsValid http msdn microsoft
  • 时间间隔不均匀的组的滚动总和

    这是我的调整之前发布的问题 https stackoverflow com questions 41693081 r calculate number of distinct categories in the specified time
  • 分析 GIL

    有没有办法分析 Python 进程对 GIL 的使用情况 基本上 我想知道GIL 持有时间的百分比是多少 该进程是单线程的 我的动机是我用 Cython 编写了一些代码 它使用nogil 理想情况下 我想在多线程进程中运行它 但为了知道这是
  • Python 数学模块

    每当我尝试使用 Python 的指数和对数模块的任何内置函数时 都会收到如下错误 NameError name sqrt is not defined 我尝试过使用math sqrt 4 sqrt 4 and sqrt 4 0 但它们都不起
  • opencv各列之和

    在 Matlab 中 如果 A 是矩阵 则 sum A 将 A 的列视为向量 返回每列和的行向量 总和 图像 用OpenCV怎么能做到呢 Using cvReduce对我有用 例如 如果您需要将矩阵的按列总和存储为行矩阵 您可以这样做 Cv
  • 带有阅读更多内容的网页视图

    Is it possible to specify the number of lines displayed by a web view and to disable its scrolling and to have a read mo
  • Laravel - DecryptException:“MAC 无效”

    在 Laravel 中进行注册时 我使用密码加密算法而不是 Laravel 中内置的 bcrypt 函数 因为要获取密码并在忘记密码时将其发送到邮件 但解密它显示错误 例如 DecryptException The MAC is inval
  • 如果 postgres 有依赖对象,如何删除用户

    数据库 idd 所有者是角色idd owner 数据库有 2 个数据模式 public and firma1 用户可能对此数据库和对象拥有直接或间接分配的权限 用户不是任何对象的所有者 它只授予了权利 如何删除这样的用户 I tried r
  • 如何在 Firebase 中执行以下查询? (多个where条件)[重复]

    这个问题在这里已经有答案了 考虑以下 firebase 结构 users 00 03 aa dc 1c 2b firstName Ofek groupName thailand lastName Ron registration type
  • numpy数组除以向量列

    我有一个 3x3 numpy 数组 我想用 3x1 向量划分该数组的每一列 我知道如何将每一行除以向量的元素 但无法找到划分每一列的解决方案 您可以转置数组以在每一列上进行划分 arr 3x3 T arr 3x1 T
  • WebGL 从浮点渲染目标读取像素

    有一些混乱e g https www khronos org webgl public mailing list archives 1210 msg00090 html就支持水平而言渲染WebGL 中的浮点纹理 OES texture fl
  • 在 Angular 4 的服务中使用 Router

    我已经使用 Angular 2 4 大约一年了 我不断地回到这个困境 将 Router 注入到服务中是否可以被视为一种不好的做法 这是更多的建筑问题 我相信这个问题没有确切的答案 但我想听听你的意见 这里有两个例子 考虑下一个代码 想象一下
  • 使用 EAV 表的“软删除”解决方案是否存在问题?

    我读过一些关于设置一个丑陋的一面的信息deleted at表中的字段表示行已被删除 Namely http richarddingwall name 2009 11 20 the trouble with soft delete http
  • 您的异常消息是否以句点结束? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我见过带句点和不带句点的异常消息 我可以想出一些理由来解释为什么两者都可以很好 如果您愿意 没有点可以让您自由添加或省略句点 如果消息出现在