问题标签 [catch-block]
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.
node.js - 对多个 then 方法使用相同的 catch 块
鉴于:
- NodeJS v0.10.25
- 已启用所有 Harmony 功能
"use strict"
以及以下代码:
注意多个相同的 catch 块:
是否有推荐/接受/事实上的方法来跨多个级别的控制结构重用该异常处理程序?
c# - 捕获块版本 C#6 和旧版本之间的区别
在 C# 6 中,您可以编写以下代码:
但是上面的代码和下面的旧 C# 代码有什么不同呢?
对我来说,旧版本看起来最短且最好用。
powershell - PowerShell - 捕获错误未导出到输出文件
我有一个脚本来列出远程机器上的权限。try{} 完美运行,没有错误,这很好。但是 catch{} 没有。脚本块如下:
我希望它做的是,如果 try{} 失败,它会捕获显示的错误,将其从控制台隐藏并将其导出到指定的位置,但这是无法正常工作的部分。当前发生的是 try{} 运行,错误显示在控制台中,并且出现了 try{} 的写入主机,而不是 catch{} 写入主机。
任何建议都会很棒。我浏览了 Stack 以寻找答案,但找不到任何答案。我的最后一个问题已关闭,因为它太宽泛了,所以我希望这有更多细节以便更好地理解。
谢谢你!
c++ - 为什么 ...(三点)在 catch 块中存在?
在 try catch 语句中我们可以这样做:
据我所知,...
意味着任何例外。
我的问题是:为什么 C++ 标准选择这种方式(...)
而不是仅仅()
?而例如,在函数中,如果您不需要参数,则只需输入()
:
它是否与可变参数模板有任何关系?
php - 尝试 .. 在 laravel 5.0 上使用 system() 命令 php 捕获
我有一个在 laravel 5.0 上使用 try .. catch 和使用系统命令制作的命令应用程序代码。当出现异常时,我的捕获不起作用。
我在 shell 上看到了我的错误,但没有写在我自己的 laravel 日志上。(日志:警报)
java - 捕获多个异常并抛出一个新的异常列表
看下面的代码:
所有的 setter 都可以抛出带有自定义消息的 ProductException。但我想捕捉所有的异常。如果有异常,我想将所有错误的列表发送到 GUI。
我该怎么做,或者我需要用 Try Catch 包围每一行?
javascript - 如何显示由 ajax 调用运行的 PHP 文件的回显?
我正在进行的一个项目需要我在 Joomla 中构建一个邮件表单。
SO聊天中的一些人建议我使用PHPmailer - 但我注意到它包含在joomla包中,我真的不想第二次加载它,所以我阅读了一些关于jFactory的文档,然后我就去了。
我想用一些 javascript 对输入字段进行 prsonalize,所以我还使用了 JS(具体来说,你可以在下面阅读的 ajax 调用)来命令服务器向我发送邮件。我不知道是否有可能/更容易将邮件字段传递给邮件程序部分,如果它驻留在表单所在的同一个 php 文件中,所以我创建了一个调用 JS 的 html 表单和一个单独的 php 与实际发件人:
- html 页面包含表单和一个空的 div。
- jQuery 脚本在运行时修改表单(主要是根据其他选择更改下拉选项)并在单击“发送”按钮时进行变量验证,以便发送邮件(通过 ajax 调用外部 php 文件)或输出一条错误消息(即“需要邮件地址”)。
- php 文件实际上使用 jFactory 发送邮件。
整个事情都很好,但我需要更多的测试,我无法从任何地方访问 php echo,包括 chrome 的 inspector。
我读到 echo 会自动保存到 javascript 中的“数据”变量中,但是这个变量不存在,如果我创建它(可能在错误的位置),它不会被填充。
我已经尝试(在 php 脚本中)try/catch 和 if($mail->Send()) 方法来生成回显消息,但是由于我从未在浏览器中运行 php 页面,所以我不知道如果任何一个都在工作。
如何将回显消息返回到我的 JS,以便我可以使用 console.log() 来读取它? 我无法在 Chrome 上安装扩展程序,或在不久的将来使用任何其他浏览器。但如果这是我唯一的选择,我想知道。
我将省略标题、_JEXEC 函数和大部分文件,以便仅显示 php 调用部分。
js:
php:
java - 从 catch 块的结果调用具有通用参数的 Java 方法
我遇到了一个意外问题,涉及签名中的异常捕获和 Java 泛型。事不宜迟,有问题的代码(解释如下):
暂且不说风格不好的问题(我完全承认有更好的方法来做我正在做的事情!),这是以下业务逻辑的精简和匿名版本:
- 类
ResultWrapper
包装调用下游服务的结果。它要么包含调用的结果,要么包含产生的异常 - 类
WrapperTransformer
负责以某种方式转换 ResultWrapper (尽管在这里,“转换”是无操作的)
上面给出的测试失败了。通过调试,我确定这是因为WrapperBuilder.of(e)
实际上是调用泛型方法(即of(final T result)
)。如果泛型参数是“贪婪的”,那(有点)是有道理的—— aRuntimeException
是a T
,所以该方法是一个明智的(尽管不是有意的)选择。
但是,当DownstreamWrapper::getResult
方法更改为:
然后测试失败 - 即被Exception
标识为 a RuntimeException
,调用非泛型.of
方法,因此结果ResultWrapper
具有填充的exc
.
这对我来说完全莫名其妙。我相信,即使在一个catch (Exception e)
子句中,它也会e
保留其原始类型(并且日志消息System.out.println(e.getClass().getSimpleName()
表明这是真的) - 那么如何更改 catch 的“类型”覆盖通用方法签名?
javascript - expressJS 承诺和错误处理
我有一条路线,首先需要查询数据库,然后使用结果查询另一个 Web 服务,然后使用该结果呈现页面。我已经解决了这个流程,并试图找出错误处理。鉴于我与多个服务人员交谈,我试图在返回错误之前对其进行按摩。
以下是路线的代码结构:
我的问题是第一次捕获。我在这个 catch 中的目标是重新打包错误并停止执行并将错误发送到 express 中间件。
用上面写的方式,执行停止,但我的快速错误处理程序没有被调用。
我尝试将第一个捕获重写为
但这并不能解决问题。我找到的唯一解决方案是将捕获移动到最后。但后来我失去了故障位置的上下文。
关于我做错了什么的任何线索?谢谢,奥利维尔
soa - 如何在 bpel1.1、Oracle SOA 11g 中处理从外部 catch 块中抛出的异常
如何处理从 bpel1.1 的外部 catch 块中抛出的异常。我试图从 bpel 发布队列“Q1”,但在访问它时出现异常。异常在故障策略中得到处理,从它被重新抛出并在 catch 块中得到处理。出于某种原因,我们再次发布相同的队列“Q1”。我们又得到了例外。那么我该如何处理该异常。请放一些光。