问题标签 [finally]
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 - java在apache pdfbox中跳过catch子句直接跳转到finally
我双手插在头发上。
我正在使用 Apache PDFBox,因为我想在 JAVA 中逐行读取 pdf 文件并稍后处理内容。但是我有以下问题.. 我在一个单独的 java 程序中使用了下面的代码(在 main 方法中),它在那里工作正常。但是,当我在我的 tomcat 服务器小程序中将它与石英调度程序结合使用时,出现了问题,我不知道为什么。请记住,我将下面的行从工作的单独测试程序复制+粘贴到我自己更大的项目中,所以它是完全相同的代码。然而,在我更大的项目中,程序一直运行到我放置断点的 String x1 = .. 行。当我尝试跳过它时,它不会给出任何错误、控制台输出或任何东西,而是直接跳过 catch 子句。我在 catch 子句中放了断点,它们
这是我的代码:
我得到的唯一输出来自 LOG4J,它必须为程序的其他部分初始化,最后几行输出是
现在让我烦恼的是我如何才能弄清楚那个电话出了什么问题?就像我说的,如果我将代码放在单独的 java 程序中,它运行良好.. 但我无法获得任何错误输出或捕获任何异常(我正在尝试捕获异常,即使它应该给出 IOException 并且是的我也试过了)。
我希望你们中的任何人都知道该怎么做。亲切的问候
python - finally 子句中的 Python 异常会吃掉先前的异常
在我的真实情况下,aSegmentation fault
出现在finally
我无能为力的子句中,因为它源于通过 ctypes 使用的外部库。实际上,我并不关心这个段错误,因为脚本无论如何都完成了。
但是,finally 中的段错误会吃掉之前发生的所有异常。因此,首先NameError
从调试开始iDontExist
变得很痛苦。它不会在任何地方发生。目前没有办法看到在段错误之前引发的任何异常。
你觉得我能做些什么呢?修复外部库不是一种选择。
java - 在 Catch 异常之前打印出 finally
我想知道为什么例如在以下代码段中:
这段代码的结果将首先打印出来"This is the finally"
,并且只有在它打印出来之后InstantiationException
......
c++ - 终止工人
我有一个启动多个工作线程的函数。每个工作线程都被一个对象封装,该对象的析构函数会尝试join
对该线程进行调用,即调用if (thrd_.joinable()) thrd_.join();
。但是每个工人必须完成多少工作是先验未知的。管理功能使用互斥锁和条件变量将工作单元分配给线程。如果没有更多工作要做,则在持有互斥锁时设置某个标志,然后通知所有在条件变量上阻塞的线程,以便它们醒来,注意更改的标志,然后关闭。
即使主线程中存在异常,我也希望此关闭工作。在 Java 中,我会使用一个finally
子句来始终设置标志并在工作处理循环结束时通知线程。由于C++ 没有finally
,我编写了自己的替换:
但我显然在这里考虑其他语言的概念。有没有更类似于 C++ 的方法来实现这一点?一个解决方案要么需要执行一些代码来从方法正常返回和抛出异常的情况,要么提供一些更好的机制来唤醒工作人员,而不是标志和条件变量的组合。
java - Try-catch-finally-return 澄清
通过阅读本论坛中已经提出的与上述主题相关的所有问题(见标题),我完全理解finally
总是被调用。(除了 fromSystem.exit
和无限循环)。但是,我想知道是否return
在 catch 块中调用了 a ,然后return
从 finally 块中调用了另一个。
例如:
所以这里的输出(当方法被调用时)在任何情况下都将是 34。这意味着 finally 总是运行。我认为虽然其他“回报”根本没有运行。在许多帖子中,我发现最终将内容写入 catch 子句返回已经写入的内容。我的理解是,一旦 catch 子句中的返回值即将被评估,控制流就会传递给 finally 子句,该子句又会返回另一个返回值,这一次将评估返回值,而不会将控制权传递回 catch 子句. 这样,return
在运行时唯一调用的将是 finally 返回。你同意吗?
A return
infinally
不会将控制权传递回程序,而是返回值并终止方法。我们可以这么说吗?
android - Android 上的 Try and Catch 问题
执行以下代码后,媒体播放 60 秒,我的应用程序关闭并显示错误“不幸的是,YourAPP 已停止。” . 如果我删除“bv.setImageResource(R.drawable.play);” 在 finally 块上,该应用程序运行良好。
finally 块上的 bv.setImageResource(R.drawable.play) 有什么问题?
这是我的代码
日志猫
shell - 最后在shell中写try catch
有没有像 java try catch finally 这样的 linux bash 命令?还是 linux shell 总是在运行?
c# - try catch 的行为,最后在 c# 中使用 return 语句工作流
我对这个 try, catch 和最后的 return 语句工作流程毫无疑问......
此功能用于检索员工休假信息以供主管查看。它工作得很好,但是如果找到了 if 语句的数据,它将被返回,否则 else 块将被返回。即使两者都得到回报,它也会最终声明。我不知道为什么?
这里的代码片段:
关于萨尔瓦
java - 在 java 中的 try-catch 块之后使用“finally”有什么好处?
“finally”块总是在 try-catch 结束时执行,无论是否发生异常。但也总是执行 try-catch 之外和之后的每一行代码。那么,为什么要使用 finally 语句呢?
例子:
java - finally 使用是个好习惯吗
我们在代码中使用 try catch 块。我想在这里问的是,使用 finally 块是一个很好的做法。我在代码中没有看到太多 finally 块。这是不好的做法吗?