异常的捕获
程序员文章站
2022-06-19 11:40:42
处理异常package com.CoderLB;public class Test { public static void main(String[] args) throws Exception { System.out.println("开始执行程序"); String str = "abcd"; System.out.println(Integer.parseInt(str)); System.out.println("程...
处理异常
package com.CoderLB;
public class Test {
public static void main(String[] args) throws Exception {
System.out.println("开始执行程序");
String str = "abcd";
System.out.println(Integer.parseInt(str));
System.out.println("程序执行完毕");
}
}
出现异常之后的代码如果不做异常处理或者没有捕获到则不会被执行,也就是终止了程序
try{//可能出现的代码块}
catch(异常类型 e){
//处理捕获的异常的方法
}
其中“异常类型”确定了当前的这个try语句只能捕获给定的异常类型UI及该异常类型的子类类型。
package com.CoderLB;
import com.baidu.vo.Dept;
import com.baidu.vo.Emp;
import com.dao.IBaseDAO;
import java.lang.reflect.Field;
import java.lang.reflect.Member;
import java.lang.reflect.Method;
public class Test {
public static void main(String[] args) throws Exception {
System.out.println("开始执行程序");
try {
String str = "abcd";
System.out.println(Integer.parseInt(str));
}catch (Exception e){
//打印异常信息
//e.printStackTrace();
}
System.out.println("程序执行完毕");
}
}
输出:开始执行程序 程序执行完毕
要求一段代码不管是否出现异常都必须执行,那么这段代码要放在finally语句中。在catch之后加上finally语句。
package com.CoderLB;
import com.baidu.vo.Dept;
import com.baidu.vo.Emp;
import com.dao.IBaseDAO;
import java.lang.reflect.Field;
import java.lang.reflect.Member;
import java.lang.reflect.Method;
public class Test {
public static void main(String[] args) throws Exception {
System.out.println("开始执行程序");
try {
String str = "abcd";
System.out.println(Integer.parseInt(str));
}catch (Exception e){
//打印异常信息
e.printStackTrace();
}finally {
//不管是否出现异常都要执行的语句
System.out.println("不管是否出现异常都要执行的语句");
}
System.out.println("程序执行完毕");
}
}
输出:
如果出现异常代码之后是在try语句块中
package com.CoderLB;
public class Test {
public static void main(String[] args) throws Exception {
System.out.println("开始执行程序");
try {
String str = "abcd";
System.out.println(Integer.parseInt(str));
System.out.println(">>>>>>>>>>>>");
}catch (Exception e){
//打印异常信息
e.printStackTrace();
}finally {
//不管是否出现异常都要执行的语句
System.out.println("不管是否出现异常都要执行的语句");
}
System.out.println("程序执行完毕");
}
}
输出中并没有 “>>>>>>>>”
如果出现异常之后的程序在try语句块之外则处理了异常就会被执行,如果出现异常之后的代码是try语句之内则不会被执行。
小结
- 出现异常之后的代码如果不做异常处理或者没有捕获到则不会被执行,也就是终止了程序
- 如果出现了异常: 1.在try 语句块之外的程序会被执行;2如果在try语句块之内就算异常被处理完毕,后面的代码还是不会被执行
- finally语句中代码不管是否出现异常、不管是否处理了异常都会被执行。
本文地址:https://blog.csdn.net/weixin_42223701/article/details/111992497