标签:key 匹配 item ber 数据 停止 out comment 自动
try{
//可能存在异常的代码
} catch(异常类型 对象名) {
//异常处理
} finally{
//异常出口
}
产生异常,自动生产一个异常类的实例化对象
异常在try语句中,自动找到匹配的catch语句执行,如果没在tyr语句中,则会抛出异常
catch根据方法的参数匹配异常类的实例化对象,匹配成功,则由此catch处理异常
finally中的代码不管是否产生异常,都将执行
try中执行了return语句,finally中的语句依然执行
public class Demo01 {
public static void main(String[] args) {
ha();
}
public static void ha(){
try{
System.out.println("1");
return;
}catch(Exception e){
}finally {//会执行
System.out.println("我会执行");
}
}
}
public class Demo02 {
public static void main(String[] args) {
Person p = ha();
System.out.println(p.age);//输出28 因为p是对象
}
public static Person ha() {
Person p = new Person();
try {
p.age = 18;
return p;
} catch (Exception e) {
return null;
} finally {
p.age = 28;
}
}
static class Person {
int age;
}
}
public class Demo03 {
public static void main(String[] args) {
int a = ha();
System.out.println(a);//输出10,因为a是基本数据类型
}
public static int ha(){
int a = 10;
try{
return a;
}catch(Exception e){
?
}finally {
a = 20;
}
return 0;
}
static class Person{
int age;
}
}
只有当程序结束了才不会执行,比如电脑断电了,JAVA虚拟机停止了
public class Demo04 {
public static void main(String[] args) {
?
ha();
}
public static void ha(){
try{
int a = 10;
int b = 0;
System.out.println(a/b);
}catch(Exception e){
//退出JVM
System.out.println("出现了异常");
System.exit(0);
}finally {
System.out.println("锄禾日当午,汗滴禾下土");//不会执行
}
}
}
?
try-catch-finally块finally中程序执行问题
标签:key 匹配 item ber 数据 停止 out comment 自动
原文地址:https://www.cnblogs.com/zhiyuanqiyuan/p/14527703.html