问题标签 [die]

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.

0 投票
2 回答
1954 浏览

perl - Perl 单元测试中的分叉子进程停止证明;测试::线束退出

我一直在尝试使用 Perl 实用程序/模块“证明”作为某些单元测试的测试工具。单元测试比“单元”更“系统”,因为我需要分叉一些后台进程作为测试的一部分,使用以下...

但是由于某种原因,当我让我的 .t 文件启动一些额外的进程时,它会导致测试工具在所有测试完成后挂在第一个 .t 文件的末尾,而不是继续到下一个文件或退出如果只有一个。

起初我想知道这是否可能是因为我正在杀死我的子进程并让它们失效。所以我加了..

到代码。但这无济于事。事实上,在封闭式检查中,结果证明我的 perl 测试文件已经退出,现在是一个已失效的进程,它是证明包装脚本没有收获它的孩子。事实上,当我在测试脚本末尾添加 die() 调用时,我得到了......

所以我的脚本退出了,但由于某种原因,线束没有解开。

我确实确认,当我在测试失败时禁用它们时,肯定是我的子流程让它感到不安,而线束正确退出。

我在启动流程的方式上是否做错了什么,可能会以某种方式扰乱安全带?

0 投票
10 回答
4194 浏览

php - 在 PHP 块中使用 die() 后如何显示静态 HTML?

假设我有一些这样的代码:

我希望这段代码的目的很简单。如果满足某个条件(即无法连接到数据库),那么程序应该死掉,否则它应该执行。我的问题是在执行 die() 函数时出现的。它停在那里只将前三行发送到浏览器,而不是最后两行。

有没有我可以使用的函数来代替 die() 以便 php 块将停止执行,但仍然发送静态 HTML 文本?

0 投票
3 回答
15066 浏览

perl - 如何绕过无法修改的 Perl 库中的“死”调用?

是的,问题出在我正在使用的库上,不,我无法修改它。我需要一个解决方法。

基本上,我正在处理一个写得很糟糕的 Perl 库,当在读取文件时遇到某种错误情况时,它会以“die”退出。我从一个循环数千个文件的程序中调用这个例程,其中少数文件是坏的。坏文件发生;我只想让我的例程记录错误并继续前进。

如果我可以修改库,我只需更改

到一个

, 但是我不能。有什么办法可以让我编写例程,这样坏文件就不会导致整个过程崩溃?

后续问题:使用“eval”来处理容易崩溃的调用效果很好,但我如何设置处理该框架内的可捕获错误?来描述:

我有一个子例程调用库,它有时会崩溃很多次。我没有用 eval{} 来处理这个子例程中的每个调用,而是让它死掉,并在调用我的子例程的级别上使用 eval{}:

但是,我可以并且确实在 function() 中捕获了一些错误情况。在子例程和调用例程中设计错误捕获的最合适/优雅的方法是什么,以便我获得捕获和未捕获错误的正确行为?

0 投票
24 回答
450145 浏览

javascript - 如何终止 JavaScript 中的脚本?

我怎样才能像 PHPexit或一样退出 JavaScript 脚本die?我知道这不是最好的编程实践,但我需要这样做。

0 投票
5 回答
1199 浏览

php - 投掷 die() 时指定页/行?

我正在使用 PHP 4,我知道导致错误并停止一切的唯一方法是调用 die()。但是如果我稍后遇到错误并且不记得它来自哪里,我想指定 die() 发生的页面和行号(就像其他 php 错误一样)。有没有办法做到这一点?

谢谢!

0 投票
2 回答
304 浏览

perl - 如何在 Perl 子例程中处理已捕获和未捕获的错误?

这是“如何在无法修改的 Perl 库中绕过 'die' 调用?”的后续内容。.

我有一个调用 Library-Which-Crashes-Sometimes 多次的子例程。我没有用 eval{} 来处理这个子例程中的每个调用,而是让它死掉,并在调用我的子例程的级别上使用 eval{}:

但是,我可以并且确实在 function() 中捕获了一些错误情况。在子例程和调用例程中设计错误捕获的最合适/优雅的方法是什么,以便我获得捕获和未捕获错误的正确行为?

0 投票
6 回答
39532 浏览

php - PHP die() 返回什么

在 PHPdie()中,当我们使用它时是否会给予任何回报?

0 投票
6 回答
475 浏览

php - PHP 死问题

只是一个快速的问题。说一个这样的方法

我可以让“死”调用一个方法而不是显示一条短信吗?如果是这样,怎么做?

0 投票
4 回答
496 浏览

c - Perl 的 Carp 模块有对应的 C 语言吗?

在我用 C 完成的一些项目中,我喜欢使用以下与 Perl 的 warn 和 die 子例程类似的宏:

是否存在像 Perl 的Carp中的 carp、croak、cluck 和 admission 子例程?我想从用户的角度报告错误。

如果没有,我知道 glibc 中有 backtrace() 和 backtrace_symbols() 函数以及 -rdynamic gcc 选项可以为我提供函数名称和代码地址的回溯。但我想要更好的东西;可以访问调用堆栈中的文件、行和函数名,就像 Perl 的调用者子例程一样。有了它,我就可以编写自己的 libcarp 以在我的 c 程序中使用。

编辑:2009-10-19

我正在考虑创建一些在 basename(argv[0]) 上可用时使用 gdb 的东西,然后处理堆栈跟踪以生成我想要的不同类型的消息。它应该能够确定我是否不在可调试的可执行文件中,或者没有 gdb 的系统,在这种情况下,carp 和 cluck 将成为警告,而 craok 和承认将成为死亡。

我以前从未像这样使用过 gdb(我只在我的程序开始时运行它,而不是在它已经运行时)。但是我在 glib 中发现了一些函数(g_on_error_stack_trace 和 stack_trace),它们看起来非常接近我想要做的:它使用参数 basename(argv[0]) 和进程 id 分叉一个 gdb 进程,然后写入它的标准输入 (已被重定向到管道)命令“回溯”后跟“退出”。然后它从结果中读取并以它喜欢的方式解析它。这几乎正​​是我需要做的。

0 投票
7 回答
12769 浏览

php - 如何使用 die() 包含文件;功能?

file1.php 和 file2.php 与 die(); 功能。

包括.php:

文件1.php

文件2.php

如何将两个文件都包含在 die(); 功能?