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

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(使用前将#替换为@)

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

  • 编译时运算符

    有人可以列出 C 中可用的所有编译时运算符吗 C 中有两个运算符 无论操作数如何 它们的结果始终可以在编译时确定 它们是sizeof 1 and 2 当然 其他运算符的许多特殊用途可以在编译时解决 例如标准中列出的那些整数常量表达式 1 与
  • C 编程 - 文件 - fwrite

    我有一个关于编程和文件的问题 while current NULL if current gt Id Doctor 0 current current gt next id doc current gt Id Doctor if curre
  • 我如何才能等待多个事情

    我正在使用 C 11 和 stl 线程编写一个线程安全队列 WaitAndPop 方法当前如下所示 我希望能够将一些内容传递给 WaitAndPop 来指示调用线程是否已被要求停止 如果 WaitAndPop 等待并返回队列的元素 则应返回
  • Web 客户端和 Expect100Continue

    使用 WebClient C NET 时设置 Expect100Continue 的最佳方法是什么 我有下面的代码 我仍然在标题中看到 100 continue 愚蠢的 apache 仍然抱怨 505 错误 string url http
  • 动态加载程序集的应用程序配置

    我正在尝试将模块动态加载到我的应用程序中 但我想为每个模块指定单独的 app config 文件 假设我的主应用程序有以下 app config 设置
  • 不支持将数据直接绑定到存储查询(DbSet、DbQuery、DbSqlQuery)

    正在编码视觉工作室2012并使用实体模型作为我的数据层 但是 当页面尝试加载时 上面提到的标题 我使用 Linq 语句的下拉控件往往会引发未处理的异常 下面是我的代码 using AdventureWorksEntities dw new
  • ASP.NET MVC:这个业务逻辑应该放在哪里?

    我正在开发我的第一个真正的 MVC 应用程序 并尝试遵循一般的 OOP 最佳实践 我正在将控制器中的一些简单业务逻辑重构到我的域模型中 我最近一直在阅读一些内容 很明显我应该将逻辑放在域模型实体类中的某个位置 以避免出现 贫血域模型 反模式
  • 嵌套接口:将 IDictionary> 转换为 IDictionary>?

    我认为投射一个相当简单IDictionary
  • 如何使用 ICU 解析汉字数字字符?

    我正在编写一个使用 ICU 来解析由汉字数字字符组成的 Unicode 字符串的函数 并希望返回该字符串的整数值 五 gt 5 三十一 gt 31 五千九百七十二 gt 5972 我将区域设置设置为 Locale getJapan 并使用
  • 在 Windows 窗体中保存带有 Alpha 通道的单色位图会保存不同(错误)的颜色

    在 C NET 2 0 Windows 窗体 Visual Studio Express 2010 中 我保存由相同颜色组成的图像 Bitmap bitmap new Bitmap width height PixelFormat Form
  • Clang 3.1 + libc++ 编译错误

    我已经构建并安装了 在前缀下 alt LLVM Clang trunk 2012 年 4 月 23 日 在 Ubuntu 12 04 上成功使用 GCC 4 6 然后使用此 Clang 构建的 libc 当我想使用它时我必须同时提供 lc
  • 关于 C++ 转换:参数 1 从“[some_class]”到“[some_class]&”没有已知的转换

    我正在研究 C 并且遇到了一个错误 我不知道确切的原因 我已经找到了解决方案 但仍然想知道原因 class Base public void something Base b int main Base b b something Base
  • 不同枚举类型的范围和可转换性

    在什么条件下可以从一种枚举类型转换为另一种枚举类型 让我们考虑以下代码 include
  • 在 ASP.NET 5 中使用 DI 调用构造函数时解决依赖关系

    Web 上似乎充斥着如何在 ASP NET 5 中使用 DI 的示例 但没有一个示例显示如何调用构造函数并解决依赖关系 以下只是众多案例之一 http social technet microsoft com wiki contents a
  • C# 中通过 Process.Kill() 终止的进程的退出代码

    如果在我的 C 应用程序中 我正在创建一个可以正常终止或开始行为异常的子进程 在这种情况下 我通过调用 Process Kill 来终止它 但是 我想知道该进程是否已退出通常情况下 我知道我可以获得终止进程的错误代码 但是正常的退出代码是什
  • C#中如何移动PictureBox?

    我已经使用此代码来移动图片框pictureBox MouseMove event pictureBox Location new System Drawing Point e Location 但是当我尝试执行时 图片框闪烁并且无法识别确切
  • 重载<<的返回值

    include
  • cmake 将标头包含到每个源文件中

    其实我有一个简单的问题 但找不到答案 也许你可以给我指一个副本 所以 问题是 是否可以告诉 cmake 指示编译器在每个源文件的开头自动包含一些头文件 这样就不需要放置 include foo h 了 谢谢 CMake 没有针对此特定用例的
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • 混合 ExecutionContext.SuppressFlow 和任务时 AsyncLocal.Value 出现意外值

    在应用程序中 由于 AsyncLocal 的错误 意外值 我遇到了奇怪的行为 尽管我抑制了执行上下文的流程 但 AsyncLocal Value 属性有时不会在新生成的任务的执行范围内重置 下面我创建了一个最小的可重现示例来演示该问题 pr

随机推荐

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

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

    我有一系列的观察结果 描述了是否以及何时在特定区域发现动物 下面的示例表标识了何时看到某种动物 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 目前不接受答案 我见过带句点和不带句点的异常消息 我可以想出一些理由来解释为什么两者都可以很好 如果您愿意 没有点可以让您自由添加或省略句点 如果消息出现在