博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
论trycatch的重要性
阅读量:5861 次
发布时间:2019-06-19

本文共 1666 字,大约阅读时间需要 5 分钟。

文章目录

前言:

为什么想写try catch呢?

业务场景:
前端调用登陆接口,后端返回一系列的配置项,eg:此用户使用A侧还是B侧,某页面是否要给此用户展示,是否允许此用户使用某功能等。
这些配置之间没有关联性。但当一段代码报错,如果没有异常捕获,后续所有代码将无法执行,即无法正常返回配置项,会影响用户登录。

1. 以下举例,业务1,2,3 并无关联

这样写,毫无疑问,会报错

public static void main(String[] args){
List
list = new ArrayList<>(); List
integerList = new ArrayList<>(); test(list,integerList); } public static void test(List
list,List
integerList){
//业务1 String s = list.get(0); System.out.println(s); //业务2 Integer i = integerList.get(0); System.out.println(i); //业务3 System.out.println("finish"); }

报错信息:

Exception in thread “main” java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:657)
at java.util.ArrayList.get(ArrayList.java:433)

2.但是如果将业务1,2 catch住的话 ,是不会影响后续业务的进行的。

public static void test(List
list,List
integerList){
try{
//业务1 String s = list.get(0); System.out.println(s); }catch (Exception e){
System.out.println(e); } try {
//业务2 Integer i = integerList.get(0); System.out.println(i); }catch (Exception e){
System.out.println(e); } //业务3 System.out.println("finish"); }

结果,finish 正常打印出来:

java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
finish

结尾

所以,为了后续代码的继续执行,加上try catch是非常重要的。还拿返回配置举例,如果catch 了异常,可以默认配置关闭。项目上线后,实时关注日志也是非常必要的。

转载地址:http://ytgjx.baihongyu.com/

你可能感兴趣的文章