关于finally的生效范围

本文探讨了在Java中try-catch-finally结构中的finally块的执行情况。即使try块中有return、break或continue语句,finally块依然会被执行。通过实例验证了这一特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一直以为finally是在一个try-catch块中,不管里面有没抛异常,
最终都会去执行的一个块,比如

public void testFinallyMethod(){
try{
System.out.println(">>>do something<<<");
System.out.println(">>>do other thing<<<");
}catch (Exception e){

}finally{
System.out.println(">>>always do something<<<");
}
}


然而今天同事有个需求,就是在try块中return/break/continue
那么finally块是否会继续执行呢?
答案是肯定的.

public void testFinallyMethod(){
try{
System.out.println(">>>do something<<<");
return;//break,continue 也一样,当然这2种需要在循环中
System.out.println(">>>do other thing<<<");
}catch (Exception e){

}finally{
System.out.println(">>>always do something<<<");
}
}

运行后的结果是

>>>do something<<<
>>>always do something<<<
### 配置FTP服务器的有效PASV模式端口范围 为了确保FTP服务器能够正常运行于被动模式(PASV),需要合理配置其端口范围并调整相应的网络环境。以下是关于如何配置有效的PASV模式端口范围的具体说明: #### 1. 设置IIS FTP的PASV模式端口范围 在IIS中,可以通过修改注册表来设定PASV模式下的端口范围。具体操作如下: - 打开Windows注册表编辑器 (`regedit`)。 - 定位到路径 `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSFTPSVC\Parameters`[^1]。 - 创建一个新的字符串值 (String Value),命名为 `PasvPortRange`。 - 将其值设为所需的端口范围,例如 `1024-65535`。 完成上述设置后,需重启FTP服务以使更改生效。 #### 2. 开放防火墙中的相应端口范围 除了在FTP服务器上配置端口外,还需要确保操作系统或硬件防火墙允许这些端口通过流量。对于Windows防火墙,可以执行以下步骤: - 进入控制面板 -> Windows Defender 防火墙 -> 高级设置。 - 新建入站规则和出站规则,选择“端口”,然后输入之前定义的端口范围[^3]。 如果使用的是云平台(如腾讯云、阿里云等),还需额外开放对应的安全组策略中的端口范围[^5]。 #### 3. 使用其他FTP软件时的配置方法 当使用第三方FTP服务器程序(如Xlight)时,通常可以在管理界面直接指定PASV模式所使用的端口区间。例如,在Xlight FTP Server中: - 登录管理员后台。 - 转至“站点属性”->“被动模式设置”。 - 输入期望的端口号范围,并保存改动。 #### 4. 测试与验证 完成以上配置之后,建议利用专业的FTP客户端工具(比如FileZilla或者FlashFXP)尝试建立连接,观察是否能成功加载远程目录列表。同时注意查看日志记录,排查可能存在的错误提示信息[^2]。 ```python # 示例Python脚本用于测试FTP PASV连接 from ftplib import FTP def test_ftp_pasv(host, user, passwd): ftp = FTP() try: ftp.connect(host=host) ftp.login(user=user, passwd=passwd) ftp.set_pasv(True) # 启用被动模式 print(ftp.dir()) # 列举当前目录内容作为测试反馈 except Exception as e: print(f'Error occurred: {e}') finally: ftp.quit() test_ftp_pasv('your_host', 'username', 'password') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值