问题标签 [rethrow]
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.
java - Intellij IDEA Java 7 Multi catch 与重新抛出异常
使用 JDK 7 在 Eclipse 上编译以下方法时没有任何编译错误;奇怪的是,在 Inellij IDEA 14 上使用相同的 JDK 7 的相同方法会产生编译错误,但它运行!这是因为我的 IDEA 配置错误吗?谢谢 :)
c++ - 我仍然可以从 catch 块中调用的函数中重新抛出异常吗?
我在旧代码库中有以下结构:
随着复制粘贴的发展,相同的捕获块出现在任何地方。现在,我会写一个这样的函数:
并将其放入如下代码中:
这会是一个有效的重构,从而产生相同的功能吗?
(你对重构有什么更好的建议吗?)
asp.net - ASP.NET MVC:获取在重新抛出的 catch 块中停止的未处理异常
我在 try/catch-rethrow 代码块中看到了一些奇怪的行为。
我有一个方法可以实例化一个 ClientGet 类并从该类中获取 Result 值。
ClientGet 类如下所示:
如果 response.IsSuccessStatusCode 为 false,由于某种原因,代码在我的 GetResult 方法的捕获处停止,并将其作为 ASP.NET Unhandled Exception 错误发布在我的 throw 上;线。我有所有的重新抛出,以便可以将错误传递回应用程序更高级别的原始调用者。
这是我得到的确切信息:
401: Unauthorized 说明:在执行当前的 Web 请求期间发生了未经处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.Net.Http.HttpRequestException:401:未经授权
源错误:
c# - 为什么 ReSharper 建议删除自己的修复程序?
ReSharper 建议重新抛出异常,然后,当我这样做时,它会说整个 catch 子句无论如何都是多余的,并建议将其删除。
我正在使用此代码(来自 MethodMan here):
当我有 ReSharper Inspect > Code Issues in Solution 时,它想知道“异常重新抛出可能是有意的”:
如果我接受 ReSharper 建议的修复(“重新抛出异常”),Resharper 会删除“ex”:
...但是,在下一次检查中,它说“catch 子句是多余的”并建议将其完全删除。
但是,当然,如果我删除了 catch 块,它就不会编译(“预期的 catch 或 finally”)。我可以删除尝试...但是...如果我将其更改为:
...ReSharper 的检查并没有抱怨它。
php - PHP:抛出具有多个原始/先前异常的异常?
考虑以下代码,我想在其中抛出一个新异常来包装我刚刚捕获的“先前”异常。
在某些时候,在构造新异常时,我想将两个异常作为“$previous”传入。
但在本机上,只支持一个“先前的异常”。
到目前为止我能想到的选项:
- 创建我自己的异常类,它接受一个额外的“先前”异常。但是然后呢?将其存储为私有财产?还是公开的?带存取器?我将如何制作调用代码来关心额外的信息?
- 当然,我可以只写日志,然后丢弃一个或两个异常。但这不是这个问题的重点。
c# - 在 C# 中重新引发异常
我有一些代码可以捕获异常,回滚事务然后重新抛出异常。
如果我使用此代码,VS Code 分析会引发警告说
改为使用不带参数的“抛出”,以保留最初引发异常的堆栈位置。
如果我使用代码
然后我收到警告说
变量“exSys”已声明但从未使用
我应该如何解决这个问题?
编辑 我试过这个方法,但它不起作用。system.exception 类需要额外的消息以及内部异常。如果我这样做,它将抛出一条新消息,覆盖来自原始异常的消息。我不想得到新的异常,我想用相同的消息抛出相同的异常。
编辑
试过这个方法。然后手动使用throw new Exception("From inside");
. 现在,ex.Message 返回“Test”而不是“From inside”。我想保持“来自内部”的信息不变。这个建议的更改将导致到处出现错误显示代码的问题。:/
exception - 骡子从 catchexception 重新抛出异常
如何从 mule 中的 catch-exception-strategy 重新抛出异常。
尝试使用以下流程并在“flowdemo”错误处理出现异常后,它不会进入 mdemoflow 的错误处理。它执行位于 flow-ref 之后的记录器。
java - 重新抛出异常的 ExecutorService
我需要使用 anyExecutor
或执行任务ExecutorService
。任务(Callable
或Runnable
)应该无限运行,但如果出现任何异常,它应该被重新抛出到提交任务的线程。
我知道这future.get()
会为我抛出ExecutionException
:
但是,在晴天的情况下future.get()
,我会无限期地阻塞,所以我不能使用它。
当底层任务失败时,是否有可能Executor
简单地抛出异常?
java - finally 中抛出的异常并 catch 块
对 catch 和 finally 块中抛出的异常有疑问:
我曾多次尝试执行上述代码。它每次都给我不同的输出。
请解释。