问题标签 [custom-exceptions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 来自 wcf 服务的 Silverlight 异常(故障)处理
我想从 wcf 方法获取异常代码,但我总是得到 NotFound 错误。
客户端:
服务器端:
配置(includeExceptionDetailInFaults 设置为 True):
我需要在客户端获取 BaseFault 类型。怎么做?
c# - .net 例外
何时应该创建自己的自定义异常类而不是使用 .Net 提供的异常类?
我应该从哪个基异常类派生,为什么?
symfony1 - 保存方法覆盖和异常管理
目前,我正在开发一个应用程序,它的域模型应该根据某些对象字段的相等与否来防止对象重复。
所以,我想在类的保存方法上处理这种比较:如果某个现有对象的某些属性等于要保存的对象,则应该阻止保存。
我正在考虑使用异常处理这种情况,该异常将在操作中被抛出和捕获,以便在必要时向用户显示消息。不幸的是,我对异常的了解不是很好,甚至更多:这个解决方案是最合适的吗?
我使用的 ORM 是 Doctrine。
java - 自定义例外:通过许多子类或由枚举支持的单个类来区分?
我正在为Exceptions
我目前正在从事的项目实施我自己的一套。该项目依赖于一个带有基本框架异常的核心框架MyFrameworkException
(我也在编写这个框架)。
对于任何给定的项目,我想抛出几种不同类型的Exceptions
,我无法决定是使用多个子类还是使用具有某种形式的单个子类Enum
作为构造函数参数。
在这两种情况下,我都有:
选项1:
然后,在整个项目中,我会针对发生的任何问题抛出特定异常。
选项 2:
在这里,对于发生的任何问题,我总是会抛出MyProjectException
特定的枚举类型。我会提供一些机制,以便可以MyProjectException
基于枚举类型对任何对象执行 switch 语句。
在项目中处理异常的最佳方式是什么,尤其是那些共享公共基础设施的项目?以上两个选项是好的解决方案吗?为什么或者为什么不?还有什么更好的解决方案?
c# - 带有自定义异常的 ASP.NET MVC 2 模型错误
我有一个自定义异常类:
.ToDescription
是一种扩展方法,MyExceptionEnum
用于为异常错误详细信息提供枚举到字符串的映射。
这是我扔它的方法:
所以我使用我的第一个 ctor,它使用给定的消息创建一个新的异常。
现在进入控制器:
最后是视图中的一个片段:
不起作用(调试时抛出异常,错误被添加到模型状态,但页面上没有显示)。
但是,如果我更改为以下行:
有用。
AddModelError
有两个重载:
- 字符串,异常(对我不起作用)
- 字符串,字符串(有效)
那么第一个重载有什么用呢?我的异常确实有一个内部异常消息,所以我会认为 HTML 扩展会呈现它?
那么我们如何使用 ModelState 处理自定义异常呢?使用第二个重载是否正确?
jquery - 包装 jQuery 的 $.ajax() 方法来定义全局错误处理
从像这样的问题中分离出来,我希望包装 jQuery 的 $.ajax() 方法,以便我可以在一个位置提供错误处理,然后所有应用程序的远程调用都会自动使用它。
简单的方法是简单地创建一个新名称,类似于 $.get() 和 $.post() 如何实现 $.ajax() 的外观。但是,我希望重用名称 $.ajax(),这样我们就可以使用标准的 jQuery 语法来保留我们的其余代码,从而隐藏我们添加了自己的错误处理的事实。这是否实用和/或好实现,或者可能是一个可怕的想法?
编辑:到目前为止的响应表明 .ajaxError() 是要走的路。我知道这会捕获 400 和 500 级错误,但是有没有办法(使用此事件处理程序或其他方式)也可以捕获 302 重定向?我正在尝试处理重定向到登录页面的响应,但我们希望在它是 XHR 请求时拦截该重定向,允许用户取消操作而不是强制它们自动转发。
c# - 要说自定义异常是可序列化的,最低要求是什么?
我的解决方案的遗留代码中有一堆自定义异常。我想测试所有
我的项目中引入的自定义异常,以查看它们是否可序列化(XML)
那么,当自定义异常可序列化时,我的测试应该检查什么才能通过?
要说自定义异常是可序列化的,最低要求是什么?
python - 在要由任意模块(库)导入的模块中引发自定义错误
我正在构建一个实现任务队列的 python 库。如果出于某种原因处理任务的线程死亡,并且未设置重新启动线程的选项,我需要抛出异常。
这是我应该扔的东西RuntimeException
吗?我不想抛出自定义异常,因为他们必须导入它,但我不确定如何最好地实现向任意调用代码抛出异常。
c# - 什么时候最好不要创建用户定义的异常?
我制作了一个抛出异常的组件。我在考虑是否应该坚持标准throw new Exception
,或者是否应该创建特定的例外。
我还认为用户定义的异常在从 Remoting 或 WCF 引发异常时没有吸引力。如果我使用标准异常,调用者可以接收到异常,如果我做了一个用户定义的异常,调用者将无法接收到特定的异常,除非组件的程序集也部署到客户端;但是,如果从 Remoting 和 WCF 中捕获用户定义的异常并将其作为标准异常重新抛出,则客户端可以从用户定义的异常中接收异常,这反过来又破坏了用户定义的异常的目的。
什么时候添加用户定义的异常不是那么有用?
[编辑]
分享我的想法,我认为用户定义的异常是组件上的必须(至少一个),因此当您对自己的组件进行单元测试时,您不会收到误报。
这会产生误报:
如果您没有自己的异常,您的单元测试可能会收到误报,“未找到”字符串可能来自您的组件或组件的其他子系统。所以我的情况是什么时候应该创建用户定义的异常。
这不会产生误报:
剩下要思考的是何时应该创建非常具体的用户定义异常。现在,我将首先确定我的组件只有一个用户定义的异常,单元测试不应该产生误报。
c# - C#:抛出自定义异常最佳实践
我已经阅读了一些关于 C# 异常处理实践的其他问题,但似乎没有人问我在寻找什么。
如果我为特定类或一组类实现我自己的自定义异常。是否应该使用内部异常将与这些类相关的所有错误封装到我的异常中,还是应该让它们失败?
我在想最好捕获所有异常,以便可以立即从我的源代码中识别出异常。我仍然将原始异常作为内部异常传递。另一方面,我认为重新抛出异常是多余的。
例外:
选项 1:Foo 封装所有异常:
选项 2: Foo 抛出特定的 FooExceptions 但允许其他异常通过: