求教大神,java中的jdbc程序为啥要加finally,不是加了try catch以后,后面的语句就会执行了啊
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求教大神,java中的jdbc程序为啥要加finally,不是加了try catch以后,后面的语句就会执行了啊相关的知识,希望对你有一定的参考价值。
不明白,求解释
与其他语言的模型相比,finally 关键字是对 Java 异常处理模型的最佳补充。finally 结构使代码总会执行,而不管有无异常发生。使用 finally 可以维护对象的内部状态,并可以清理非内存资源。 如果没有 finally,您的代码就会很费解。finally 块必须与 try 或 try/catch 块配合使用。此外,不可能退出 try 块而不执行其 finally 块。如果 finally 块存在,则它总会执行。 参考技术A 举个例来说
try
stmt.execute();
catch (SqlException e)
stmt.close();//try catch
这段代码,close()肯定会执行,但是在trycatch中如果有没被捕捉到的异常,比如
Integer.ParseInt("");抛出的是formatException
如果不用finally,就会直接向上抛,
下面那个close();就不会再执行了。
所以一般这种close操作要放在finally中本回答被提问者和网友采纳 参考技术B 除非调用exit方法或者关闭程序,否则finally内的程序都会执行。加finally的好处是,如果程序在运行过程中发生了异常,无法继续执行下去,这是就要把打开的资源关闭,不关闭的话后导致down机,所以把需要关闭的资源放在finally里面,这样无论是否发生异常,最后都能关闭资源 参考技术C finally的作用是保证无论程序正确执行还是发生异常,都把占用资源的connection给close掉,以释放资源。 参考技术D 如果不要finally,你需要在catch里面处理异常并且要释放连接,你还需要在没异常程序正常执行完之后在次释放连接,同样代码要写两次,所以不妨就直接放在finally里面,简单明了。
java PKIX path validation failed 求教大神帮助解决
java 程序在调试的时候报以下错误信息:
ERROR cn.knet.gtld.epp.transport.client.EPPSSLClientSocket - Failed When Handshake : sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: Path does not chain with any of the trust anchors
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: Path does not chain with any of the trust anchors
不知道是myeclipse 环境的问题,还是 ssl 证书配置的问题
myeclipse 是10.7的
jdk1.7.0_67
问题已经解决,是jdk版本的问题,换个jdk 1.8的就可以了
jdk版本问题,换个高的,我目前jdk1.8_66都不行.
实测jdk1.8_144可以,照理以上也是可以的.
不想换的话到网站上把证书搞下来,具体怎么搞请百度.
这里只有一张图,然后导出就可以了.(浏览器不同有差异.)
然后去jdk1.8.0_66\\jre\\lib\\security-->cmd(管理员权限)导就行了.命令如下.
//导入keytool -import -file D:\\xxxx.crt -keystore cacerts -alias xxxx
//查看
keytool -list -keystore cacerts | findstr /i xxxx 参考技术A so easy:
public class Test
public static void main(String args[])
Scanner sc = new Scanner(System.in);
System.out.println("请输入是否是会员:是(y)/否(其它字符)");
String y = sc.readLine();
System.out.println("请输入购物金额:");
int a = sc.nextInt();
if("y".equals(y))a = a*0.75;
System.out.println("实际支付:"+a);
以上是关于求教大神,java中的jdbc程序为啥要加finally,不是加了try catch以后,后面的语句就会执行了啊的主要内容,如果未能解决你的问题,请参考以下文章
求教各位大神,我要上线一个JAVA程序的网站,现在要托管一个服务器,我们有一台2U的DELL服务器
求教大神: android 开发的java程序中,一个语句super.onCreate(savedInstanceState); 是啥意思?
java PKIX path validation failed 求教大神帮助解决
在mybatis跟spring集成的时候,为啥还要导入spring-jdbc的包呢,这里面不是