try-catch-finally相关内容

优雅地退出应用程序?

我有一个具有明确定义的 Try/Catch/Finally 链的应用程序,它在正常情况下退出并执行 finally 块就好了,但是当有人过早地在 GUI 中点击红色 X 时,程序完全存在(代码 = 0) 并且不会调用主线程的 finally 块. 事实上,我确实希望程序在单击红色 X 时退出,但我不希望跳过 finally{} 块!我在 GUI 中手动放入了 finally 块中最重要的部分 ..
发布时间:2022-01-24 14:09:54 Java开发

java中带有finally子句的try/catch块返回

鉴于以下 java 中的 try/catch 块: 尝试{返回;}捕捉(SomeException e){System.out.println(e);}最后{System.out.println("这是finally块");} 根据这篇文章:“最终总是在 Java 中执行吗?" 我可以看到程序的输出将是 'This is the finally 块'.但是,我不知道这是怎么可能的,因为 pri ..
发布时间:2022-01-19 15:32:16 Java开发

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

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

finally 块是否总是在 Java 中执行?

考虑到这段代码,我可以绝对确定 finally 块总是执行,无论 something() 是什么?p> 试试{某物();返回成功;}捕获(异常 e){退货失败;}最后 {System.out.println("不知道会不会打印出来");} 解决方案 是的,finally 会在 try 或 catch 代码块. finally 唯一不会被调用的时间是: 如果你调用 System.e ..
发布时间:2022-01-19 14:30:28 Java开发

在什么情况下 finally {} 块不会执行?

在 Java try{} ... catch{} ... finally{} 块中,finally{} 中的代码通常被认为是“保证"无论 try/catch 中发生什么,都运行.但是,我知道它至少不会执行的两种情况: 如果 System.exit(0) 被调用;或者, 如果异常一直抛出到 JVM 并且发生默认行为(即,printStackTrace() 并退出) 是否有任何其他程序行 ..
发布时间:2022-01-16 12:00:08 Java开发

我们可以使用“return"吗?在最后块

我们可以在 finally 块中使用 return 语句吗?这会导致任何问题吗? 解决方案 从 finally 块内部返回会导致 exceptions 丢失. finally 块中的 return 语句将导致 try 或 catch 块中可能抛出的任何异常被丢弃. 根据Java 语言规范: 如果 try 块的执行由于任何其他原因突然完成R,然后执行finally块,然后有 ..
发布时间:2022-01-08 12:18:51 Java开发

没有编译器错误的多个返回语句

这是一个面试问题: 公共类演示{公共静态无效主(字符串 [] args){System.out.println(foo());}静态字符串 foo() {尝试 {返回“尝试...";} 捕获(异常 e){返回“抓住……";} 最后 {返回“终于……";//得到结果}}} 我的问题是为什么没有编译时错误.当我的 finally 块中有 return 语句时,它必然会从 finally 而不是 t ..
发布时间:2021-12-31 22:56:33 Java开发

我们可以使用“返回"吗?在 finally 块中

我们可以在 finally 块中使用 return 语句吗?这会导致任何问题吗? 解决方案 从 finally 块内部返回将导致 exceptions 丢失. finally 块中的 return 语句将导致任何可能在 try 或 catch 块中抛出的异常被丢弃. 根据Java 语言规范: 如果 try 块的执行由于任何其他原因突然完成R,然后执行finally块,然后 ..
发布时间:2021-12-17 17:26:29 Java开发

如果 finally 块抛出异常会发生什么?

如果 finally 块抛出异常,究竟会发生什么? 具体来说,如果在 finally 块中途抛出异常会发生什么.此块中的其余语句(之后)是否被调用? 我知道异常会向上传播. 解决方案 如果 finally 块抛出异常究竟会发生什么? 该异常会向外传播并向上传播,并将(可以)在更高级别进行处理. 您的 finally 块将不会在抛出异常的点之后完成. 如果在 ..
发布时间:2021-12-17 16:59:53 C#/.NET

从 Java 中的 finally 块返回

我最近惊讶地发现在 Java 的 finally 块中可以有 return 语句. 似乎很多人认为按照“不要在 finally 子句中返回'.再深入一点,我还发现了“Java 的返回并不总是' 这显示了 finally 块中其他类型的流控制的一些非常可怕的例子. 所以,我的问题是,谁能给我一个例子,其中 finally 块中的 return 语句(或其他流控制)产生更好/更易读的代码? ..
发布时间:2021-11-25 13:12:58 Java开发

在 Java 中是否总是执行 finally 块?

考虑到这段代码,我可以绝对确定 finally 块总是执行,无论 something() 是什么?> 尝试{某物();返回成功;}捕获(异常 e){返回失败;}最后 {System.out.println("不知道会不会打印出来");} 解决方案 是的,finally会在try或catch执行后被调用代码> 代码块. finally 不会被调用的唯一时间是: 如果你调用Syste ..
发布时间:2021-11-25 10:49:04 Java开发

在 Java 中是否总是执行 finally 块?

考虑到这段代码,我可以绝对确定 finally 块总是执行,无论 something() 是什么?> 尝试{某物();返回成功;}捕获(异常 e){返回失败;}最后 {System.out.println("不知道会不会打印出来");} 解决方案 是的,finally会在try或catch执行后被调用代码> 代码块. finally 不会被调用的唯一时间是: 如果你调用Syste ..
发布时间:2021-11-19 22:35:11 Java开发

使用 try/catch 的优缺点

我想问一下使用try有什么优点和缺点/catch?什么时候必须使用,什么时候不能使用? 解决方案 当您在应用程序中使用某些外部控件/dll 并且不确定其功能并且不希望该外部控件中的错误停止时您自己的应用程序,然后您可以使用 Try/Catch.由于该控件中的致命错误,它不会完全停止您的应用程序.但是使用该控件的那部分代码将不起作用. 这并不意味着您可以在自己的代码中使用 Try Ca ..
发布时间:2021-09-10 18:37:10 C#/.NET

try catch finally 块是如何工作的?

在C#中,try catch finally块是如何工作的? 所以如果有异常,我知道它会跳到catch块,然后再跳到finally块. 但是如果没有错误,catch 块不会运行,但是 finally 块会运行吗? 解决方案 是的,无论是否有异常,finally 块都会运行. 尝试[尝试语句][退出尝试][捕捉[异常[作为类型]][当表达式][捕获语句][退出尝试]][ 抓住 ..
发布时间:2021-09-10 18:34:43 C#/.NET

在 Windows 服务中运行的线程中不执行 finally

谁能解释为什么不执行这个 finally 块?我已经阅读了有关何时不应执行 finally 块的帖子,但这似乎是另一种情况.此代码需要 TopShelf 和 log4net.我正在运行 .net 4.5 我想一定是 Windows 服务引擎启动了未处理的异常,但为什么它在 finally 块完成之前运行? 使用log4net;使用 log4net.Config;使用系统;使用 System ..
发布时间:2021-09-07 20:18:44 C#/.NET

Powershell Try Catch invoke-sqlcmd

当使用 Invoke-Sqlcmd 连接到 SQL Server 失败时,我在 PowerShell 中捕获错误时遇到问题.这是一些用于演示问题的通用代码: CLS$server = "本地主机\假"尝试{Invoke-Sqlcmd -Query "SELECT DB_NAME() as [Database]" -Server $server}抓住{写主机“连接到服务器时出错" $server} ..
发布时间:2021-06-19 19:27:51 其他开发