问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

试解释Java与Finally的意义及用法?

发布网友 发布时间:2022-04-28 14:53

我来回答

4个回答

热心网友 时间:2022-06-19 07:16

是想知道finally的用处吧.我给你举几个例子.

当我们在程序中需要与文件,与数据库进行操作的时候.这时候finally关键字就是大显身手的时刻了.比如:当打开一个文件后,在程序操作的过程中可能发生了某种异常,这时候程序就会把异常向外抛出,造成程序的中断执行,因此我们已经无法对文件进行关闭.当在try的结束位置加上finally,可以把文件关闭的操作放在finally语句块中.这样无论发生不发生异常,finally中的代码都会被执行,这就避免了文件可能没有被关闭的情况.

try
{
//可能发生异常的代码

}catch(Exception e)
{
//捕获异常
}finally
{

//必要的操作,无论异常是否发生,都会被执行
}

尤其是在操作数据库的时候,如果不用finally,那么一旦发生异常,连接就无法关闭,会造成数据库的连接资源耗尽.

这就是Java 中finally的作用.

热心网友 时间:2022-06-19 07:17

finally是java中的保留关键字,在try...catch...finally或者try...finally句式中使用

热心网友 时间:2022-06-19 07:17

好无聊的问题 一点联系都没有

热心网友 时间:2022-06-19 07:18

一、 finally:java的一种异常处理机制。
finally是对Java 异常处理模型的最佳补充。finally 结构使代码总会执行,而不管有无异常发生。使用 finally 可以维护对象的内部状态,并可以清理非内存资源。特别是在关闭数据库连接这方面,如果程序员把数据库连接的close()方法放到finally中,就会大大降低程序出错的几率。
二、在java中的finally关键一般与try一起使用,在程序进入try块之后,无论程序是因为异常而中止或其它方式返回终止的,finally块的内容一定会被执行
写个例子来说明下:
[java] view plaincopyprint?
<pre class="java" name="code">package com.teedry.base;

public class TryAndFinallyTest {

public static void main(String[] args) throws Exception{
try{
int a = testFinally(2);
System.out.println("异常返回的结果a:"+a);
}catch(Exception e){
int b = testFinally(1);
System.out.println("正常返回的结果b:"+b);
}
int b = testFinally(3);
System.out.println("break返回的结果:"+b);

b = testFinally(4);
System.out.println("return返回的结果:"+b);

}

static int testFinally(int i) throws Exception{
int flag = i;
try{//一旦进去try范围无论程序是抛出异常或其它中断情况,finally的内容都会被执行
switch(i){
case 1:++i;break;//程序 正常结束
case 2:throw new Exception("测试下异常情况");
case 3:break;
default :return -1;
}
}finally{
System.out.println("finally coming when i="+flag);
}
return i;
}
}
</pre><br>
<pre></pre>
<p>执行结果如下:</p>
<p>finally coming when i=2<br>
finally coming when i=1<br>
正常返回的结果b:2<br>
finally coming when i=3<br>
break返回的结果:3<br>
finally coming when i=4<br>
return返回的结果:-1</p>
<p> </p>
<p>结果说明无论上述什么情况,finally块总会被执行。 </p>

二 try的范围内存在exception的话,就会在exception的位置跳到exception哪里,然后执行完exception之后就马上进入finally。
假如exception范围内存在return这些的也会执行finally
假如try范围内不存在exception的话,就执行完try范围内代码之后进入finally执行,finally代码

其实,一般finally写的代码就是流的关闭语句,

假如还是不明白,试一下运行我下面写的几个代码就知道的了。假如try不存在exception的话:
try{
System.out.println("try");
}catch(Exception e)
{
System.out.println("Exception");
}
finally{
System.out.println("Finally");
}

假如try中存在exception的:
try{
String demo = null;
demo.split(";");
System.out.println("try");
}catch(Exception e)
{
System.out.println("Exception");
}
finally{
System.out.println("Finally");
}

假如try中存在exception,然后exception中存在跳出语句的:
try{
String demo = null;
demo.split(";");
System.out.println("try");
}catch(Exception e)
{
System.out.println("Exception");
return;
}
finally{
System.out.println("Finally");
}

假如try中不存在exception,但是try中存在跳出语句的:
try{
System.out.println("try");
return;
}catch(Exception e)
{
System.out.println("Exception");
}
finally{
System.out.println("Finally");
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
金丝熊,一般吃什么啊?水果还是蔬菜? 怎样管理wp7上安装的软件?我手机是三星i917 》有文件管理软件吗?、我的... 二片式球阀(关于二片式球阀的基本详情介绍) 二片式球阀工作原理 二片式球阀优点 不锈钢二片式球阀安装与维护及注意事项 二片式球阀两片式球阀的结构特点 不锈钢二片式球阀结构特点 不锈钢二片式球阀简介 吃刚出炉的蛋糕致癌? finally在java的用法 java中的“try - catch -finally”结构中的“finally”有哪些用途 祝朋友生日快乐的一段话 祝朋友过生日的句子 祝福朋友生日快乐的唯美句子 祝朋友生日快乐四字短句子 祝福好朋友生日快乐的话霸气简短 祝好友生日快乐的句子霸气 微信电脑版什么时候能够添加置好友标签功能? 水库草鱼片怎么做好吃 草鱼片的做法 川味草鱼片怎么做好吃 请问草鱼片怎么做好吃 草鱼片汤的做法,草鱼片汤怎么做好吃,草鱼片汤的家常 尺子的单词应该怎么写 吃葡萄上火还是去火 葡萄热气吗 葡萄上火么 吃葡萄容易上火吗 冬天吃葡萄上火吗 java中的finally怎么使用? java中final,finally和finalize的区别 Java中final,finally和finalize的区别是什么? java中为什么用finally语句 java中,有try没catch有finally怎么用? java finally什么时候执行 java中final和finally的区别 ^ ^请教JAVA中的异常finally{...}语句里面要写什么,有什么作用? Java 在try—catch块之后的finally是干什么的? 简述final和finally的用法和区别 Java 异常中的一个疑惑—finally存在的意义 关于JAVA中finally的问题.... java里面finallyf是什么意思如何应用 哈弗H2s多少钱? 哈弗H2s车价是多少? 哈弗h2s是什么时候上市的车型 格式工厂k gm文件转成mp 3文件失败是怎么回事? 哈弗H2s车价多少油耗 哈弗h2s自动挡多少钱?哈弗h2s是自动挡吗 如何正确选购地磅的大小长度和吨位