try-finally相关内容

try 和 finally 给出没有返回语句的异常,但是在方法中写入返回语句时没有异常

请解释为什么异常出现在第一个程序中,但没有出现在第二个程序中. 1) read 方法中没有返回语句 类示例{公共静态无效读取(){尝试{诠释 i = 9/0;}最后{System.out.println("此程序异常");}}公共静态无效主要(字符串 [] 邪){读();}} 2)read方法中带有return语句 类示例{公共静态无效读取(){尝试{诠释 i = 9/0;}最后{Sy ..
发布时间:2022-01-19 15:33:20 Java开发

为什么`finally`中的返回会覆盖`try`?

try/catch 块中的 return 语句如何工作? 函数示例() {尝试 {返回真;}最后 {返回假;}} 我希望这个函数的输出是 true,但实际上它是 false! 解决方案 最后 always 执行.这就是它的用途,这意味着它的返回值会在您的情况下使用. 您需要更改您的代码,使其更像这样: 函数示例() {变种返回状态=假;//初始化值真的由设计决定尝试 {返回状态 ..

为什么我们需要“finally"?Python中的子句?

我不确定为什么我们在 try...except...finally 语句中需要 finally.在我看来,这个代码块 尝试:run_code1()除了类型错误:run_code2()其他代码() 使用 finally 与这个相同: 尝试:run_code1()除了类型错误:run_code2()最后:其他代码() 我错过了什么吗? 解决方案 早点回来会有所不同: 尝试:run_c ..
发布时间:2022-01-08 12:22:43 Python

为什么我们需要“终于"?Python中的子句?

我不确定为什么我们需要 finally 在 try...except...finally 语句中.在我看来,这个代码块 尝试:运行代码1()除了类型错误:run_code2()其他代码() 与使用finally的这个相同: 尝试:运行代码1()除了类型错误:run_code2()最后:其他代码() 我错过了什么吗? 解决方案 早点回来会有区别: 尝试:运行代码1()除了类型错误: ..
发布时间:2021-12-17 17:30:58 Python

Try-finally 块可防止 StackOverflowError

看看下面两种方法: public static void foo() {尝试 {富();} 最后 {富();}}公共静态无效栏(){酒吧();} 运行 bar() 显然会导致 StackOverflowError,但运行 foo() 不会(程序似乎无限期地运行).这是为什么? 解决方案 它不会永远运行.每次堆栈溢出都会导致代码移动到 finally 块.问题是这将需要非常非常长的时间. ..
发布时间:2021-12-16 08:48:43 Java开发

为什么在 finally 块中更改返回的变量不会更改返回值?

我有一个简单的 Java 类,如下所示: 公共类测试{私人字符串;公共字符串 foo() {尝试 {s = "开发";返回 s;}最后 {s = "覆盖变量 s";System.out.println("进入finally块");}}公共静态无效主(字符串[] xyz){测试 obj = 新测试();System.out.println(obj.foo());}} 这段代码的输出是这样的: ..
发布时间:2021-11-25 14:37:36 Java开发

C# Using 语句如何转换为 Try-Finally

我正在努力解决这个问题.根据本页上的Using语句: using 语句确保即使在调用对象方法时发生异常,也会调用 Dispose.您可以通过将对象放在 try 块中,然后在 finally 块中调用 Dispose 来获得相同的结果;实际上,编译器就是这样翻译 using 语句的. 但是在这个页面上关于Try-Finally阻止了它状态: 在已处理的异常中,保证运行相关的 fin ..
发布时间:2021-09-15 19:37:29 C#/.NET

使用 Ctrl-C 跳过 Powershell 最后块

我正在 Powershell 中使用 Try/Finally 编写监控脚本,以便在脚本结束时记录消息.该脚本旨在无限期运行,因此我想要一种方法来跟踪意外退出. 所有其他 StackOverflow 帖子和帮助页面 我检查了状态: 即使您使用 CTRL+C 停止脚本,Finally 块也会运行.如果 Exit 关键字从 Catch 块中停止脚本,则 finally 块也会运行. 在 ..
发布时间:2021-06-19 19:59:44 其他开发

尝试最后阻止继续循环

我正在编写一个忽略异常的循环,并且效果很好. for (; flag; ) { try { //do something ignore exception. Runnable r = queue.pollFirst(); r.run(); } catch (Exception ig ..
发布时间:2020-07-11 20:06:28 Java开发

最终程序块何时相对于返回运行

我昨天偶然发现了一个有趣的错误,并且已经解决了该错误,但是今天早晨它仍然困扰着我,所以我想看看是否有人可以对此问题有所了解. 相关代码: final ResultSet rs = prepStatement.executeQuery(); try { if (!rs.next()) { throw new IllegalStateException("Expec ..
发布时间:2020-07-11 20:05:18 Java开发

在python中使用'finally'子句的范围是什么?

可能重复: 其他目的,最后是异常处理 我想了解为什么try/except语句中存在finally子句.我了解它的作用,但很明显,如果它在语言中应占一席之地,我会丢失一些东西.具体来说,在finally字段中写子句与在try/except语句之外写子句有什么区别? 解决方案 try套件可以得到执行,无论try套件中发生了什么. 使用它来清理文件,数据库连接等: try: ..
发布时间:2020-07-11 20:05:14 Python

双重异常抛出try/finally块

这是代码示例: Try Throw New FirstException() Finally Throw New SecondException() End Try 我发现它只会抛出SecondException,而FirstException就会消失. 我以为FirstException将在SecondException的InnerException属性内,但事 ..
发布时间:2020-07-11 20:05:11 其他开发

尝试后终于不叫了

由于某种原因,我无法在控制台应用程序中运行我的finally块.我正在编写此代码来测试finally块的工作原理,因此非常简单: static void Main() { int i = 0; try { int j = 1 / i; // Generate a divide by 0 exception. } finally ..
发布时间:2020-07-11 20:05:06 C#/.NET

在while循环中使用try-finally块

当我在while循环中最终使用时,我试图理解该机制. 在下面的代码中. 最后行打印,然后休息一会儿.我期望代码不会到达finally块.或者,如果到达了finally块,那么这里没有没有中断,因此应该继续..有人可以解释它是如何工作的吗? while(true){ System.out.println("in while"); ..
发布时间:2020-07-11 20:05:04 Java开发

为什么打印1?

我有代码: class Test { public static void main(final String [] args) { System.out.println(foo()); } private static int foo() { int a = 0; try { ++a; return a; ..
发布时间:2020-07-11 20:03:57 Java开发