java 抛出异常后,还会执行后面代码吗?

比如:
方法:{
try{
//可能出错语句块
}catch{
//错误
}
return 。。
}
如果执行了catch语句块,
那么这个return还会执行吗?
谁能讲解一下,Java错误异常的机制。
下面是我写的测试,但catch(这里写什么)
public static String fun(){String str="XXXX";int a=0;int b=10;int c=0;try{c=b/a;}catch(){}return str;}public static void main(String[] args) {String str=fun();System.out.println(str);}
我还是自己测试一下
大漠灬蜃楼 | 浏览 30512 次 |举报
我有更好的答案
推荐于2017-09-23 09:14:50 最佳答案
return会执行的。try{}里面包含可能会出错的代码?如果里面出错了,他回交给catch{}处理,catch可能把这个错误给屏蔽掉(就比如说你牙疼不能吃饭,给给力来个止疼的,不影响你做其他的事情了)。。不影响你之后的代码运行。。但是如果你try{}里面有多行代码第一行,第二行,第三行,如果第二行出错了,第三行是不执行的。如果有finally{}这里里面代码是处理后事的。比如说,你try里面有操作工作流的,那么如果出错了fianlly可以用力处理,关闭工作流对象,避免浪费资源。finally{}是必须执行的,不是管是出错了,还是不出错。
 本回答由提问者推荐
举报| 答案纠错 | 评论(6)

115 9

猫子zm

采纳率:57% 擅长: 交友技巧

其他回答

try{
//正常执行的代码
}catch (Exception e){
//出错后执行的代码
}finally{
//无论正常执行还是出错,之后都会执行的代码
}
//跟上面try catch无关的代码

正常执行的代码如果出现异常,就不会执行出现异常语句后面的所有正常代码.
异常可能会被捕获掉,比如上面catch声明的是捕获Exception,那么所有Exception包括子类都会被捕获,但如Error或者是Throwable但又不是Exception(Exception继承Throwable)就不会被捕获.
如果异常被捕获,就会执行catch里面的代码.如果异常没有被捕获,就会往外抛出,相当于这整个方法出现了异常.
finally中的代码只要执行进了try catch永远都会被执行.执行完finally中的代码,如果异常被捕获就会执行外面跟这个try catch无关的代码.否则就会继续往外抛出异常.
return无论在哪里,只要执行到就会返回,但唯一一点不同的是如果return在try或者catch中,即使返回了,最终finally中的代码都会被执行.这种情况最常用的是打开了某些资源后必须关闭,比如打开了一个OutputStream,那就应该在finally中关闭,这样无论有没有出现异常,都会被关闭.

 本回答被网友采纳
LMLU23  | 发布于2014-10-28
举报| 评论

62 7

主要看你catch捕捉异常时做了什么操作,如果仅仅捕捉写了日志那后面return还会执行
,如过把异常重新处理又网上抛了那就不执行!另外所有异常捕捉建议加fianlly
必走!
zhoujie122  | 发布于2014-10-28
举报| 评论

8 1

java 抛出异常后,还会执行后面代码吗?

比如:
方法:{
try{
//可能出错语句块
}catch{
//错误
}
return 。。
}
如果执行了catch语句块,
那么这个return还会执行吗?
谁能讲解一下,Java错误异常的机制。
下面是我写的测试,但catch(这里写什么)
public static String fun(){
String str="XXXX";
int a=0;
int b=10;
int c=0;
try{
c=b/a;
}catch(){
}
return str;
}
public static void main(String[] args) {
String str=fun();
System.out.println(str);
}
我还是自己测试一下
大漠灬蜃楼 | 浏览 30512 次 |举报
我有更好的答案

推荐于2017-09-23 09:14:50 最佳答案
return会执行的。try{}里面包含可能会出错的代码?如果里面出错了,他回交给catch{}处理,catch可能把这个错误给屏蔽掉(就比如说你牙疼不能吃饭,给给力来个止疼的,不影响你做其他的事情了)。。不影响你之后的代码运行。。但是如果你try{}里面有多行代码第一行,第二行,第三行,如果第二行出错了,第三行是不执行的。如果有finally{}这里里面代码是处理后事的。比如说,你try里面有操作工作流的,那么如果出错了fianlly可以用力处理,关闭工作流对象,避免浪费资源。finally{}是必须执行的,不是管是出错了,还是不出错。
 本回答由提问者推荐
举报| 答案纠错 | 评论(6)

115 9

猫子zm

采纳率:57% 擅长: 交友技巧

其他回答

try{
//正常执行的代码
}catch (Exception e){
//出错后执行的代码
}finally{
//无论正常执行还是出错,之后都会执行的代码
}
//跟上面try catch无关的代码

正常执行的代码如果出现异常,就不会执行出现异常语句后面的所有正常代码.
异常可能会被捕获掉,比如上面catch声明的是捕获Exception,那么所有Exception包括子类都会被捕获,但如Error或者是Throwable但又不是Exception(Exception继承Throwable)就不会被捕获.
如果异常被捕获,就会执行catch里面的代码.如果异常没有被捕获,就会往外抛出,相当于这整个方法出现了异常.
finally中的代码只要执行进了try catch永远都会被执行.执行完finally中的代码,如果异常被捕获就会执行外面跟这个try catch无关的代码.否则就会继续往外抛出异常.
return无论在哪里,只要执行到就会返回,但唯一一点不同的是如果return在try或者catch中,即使返回了,最终finally中的代码都会被执行.这种情况最常用的是打开了某些资源后必须关闭,比如打开了一个OutputStream,那就应该在finally中关闭,这样无论有没有出现异常,都会被关闭.

 本回答被网友采纳
LMLU23  | 发布于2014-10-28
举报| 评论

62 7

主要看你catch捕捉异常时做了什么操作,如果仅仅捕捉写了日志那后面return还会执行
,如过把异常重新处理又网上抛了那就不执行!另外所有异常捕捉建议加fianlly
必走!
zhoujie122  | 发布于2014-10-28
举报| 评论

8 1

java 抛出异常后,还会执行后面代码吗?相关推荐

  1. php载入内存的是本地代码吗,常量和静态变量会先载入内存后在进行执行php代码...

    static $test=1;//在php执行前就已经写入内存 $test++; var_dump($test); static $test=10;//在php执行前就已经写入内存 var_dump( ...

  2. SpringMVC--Ajax异步加载数据$(function (){ 逻辑代码}) 的意思是让dom结构加载完毕后再去执行逻辑代码

    1. SpringMVC–Ajax异步加载数据 1.1 实体类user User.java package com.tian.pojo;import lombok.AllArgsConstructor ...

  3. Java动态性(3) - 脚本引擎执行javascript代码

    1.脚本引擎执行JavaScript代码 脚本引擎介绍 使得Java应用程序可以通过一套固定的接口与各种脚本引擎交互,从而达到在Java平台上调用各种脚本语言的目的 Java脚本API是连通Java平 ...

  4. python 串行线程终止后还会执行下一个吗_多线程笔记

    1.线程的状态 狂神说多线程讲解 休眠方法: public static void sleep(long millis) 放弃方法:放弃对时间片的使用 public static void yield ...

  5. catch抛出异常finally还会执行吗?会!

    如果我们在try或者catch语句块中抛出异常,finally语句是否会执行? 会!在catch中抛出异常,不会影响finally的执行.JVM会先执行finally,然后回过头来再抛出异常. 详情请 ...

  6. trycatch后还会执行finally吗?

    答案是会,废话不多说,上码 案例一: public class trycatchTest {public static void main(String[] args) {String a = a() ...

  7. 【java神操作】java竟然还可以能执行Javascript代码!!

    引入:闲着没事想研究下学校查成绩的接口,然后自己写程序查.但是查成绩首先必须登录,所以必须先研究学校网站的登录接口,抓包后发现传到后台的学号密码是经过加密的,研究其加密方法成为必经之路 发现学校网站改 ...

  8. C#中throw抛出异常后,后续代码执行情况

    1.问题来源参见以下代码: public void add(int index, E element) {if(size >= elements.length) {throw new Runti ...

  9. java try catch 异常后还会继续执行吗

    java try catch 异常后还会继续执行吗? catch 中如果你没有再抛出异常 , 那么catch之后的代码是可以继续执行的 , 但是try中 , 报错的那一行代码之后 一直到try结束为止 ...

最新文章

  1. 英雄会挑战失败求原因
  2. 线性回归与梯度下降法——原理与实现
  3. 在控制台中录入学生成绩,计算总分,最高分,最低分(Python)
  4. 转:华为副总裁一封信:透露年薪千万的工作感悟,太震撼了!
  5. python画图猪_用Python的turtle画一只小猪乔治【刚学python两天,记念一下】
  6. mysql中怎么实现Apriori_关联规则算法Apriori的学习与实现
  7. JavaScript核心基础语法
  8. 二十三 NoSqlRedis及其安装
  9. 查看linux 系统 当前使用的网卡
  10. [Linux]-Shell编程与规范
  11. cfree5更新C++11特性
  12. 物理机通过Xshell连接不上虚拟机的解决方案
  13. Sulley vmcontrol.py 使用注意
  14. 红木家具之缅甸花梨家具
  15. 浏览器存储的方式有哪些
  16. JVM之垃圾回收 II ——方法区和堆区的垃圾回收、STW
  17. 校验组织机构代码 合法性
  18. mybatis-plus使用注意事项
  19. 基于springboot vue uniapp点餐外码系统源码(毕设)
  20. 国际经济学 简答计算

热门文章

  1. k8s 部署zookeeper-kafka集群 —— 筑梦之路
  2. 三 创建纵断面图和纵断面
  3. 关于MyBatis的分页
  4. PDF中在指定位置插入图片
  5. BIM用C语言编程,实现BIM技术的三个重要方面是()。A.BIM的建立B.BIM的应用C.BIM的管理D.BIM的粒度E.BIM的概念...
  6. WORD转PDF时候出现空白页的解决办法
  7. 人和人最大的差别不是技术上的高低,而是你的人生观价值观
  8. Java中int的取值范围的原因
  9. 如何用matlab求函数的最值?
  10. svm原理详解,看完就懂(七):松弛变量part2