JAVA的try...catch的使用

很多时候我们都是被动的使用try...catch捕捉异常,因为java有些代码必须捕获异常或者抛出异常才可以运行。

但是很多时候try..catch可以帮我们解决很多问题。

比方说,我们需要访问一个接口,接口返回的数据为空时是一个string,有数据时返回一个json。但是我们不知道对方返回的数据什么时候为空,什么时候不为空。

但是我们可以在代码里面只当json处理,然后将这些代码用try..catch包裹起来,

--------如果不捕获异常

    @Test
    void testJSON(){
        String s = "没有数据返回";
        JSONObject jsonObject = JSON.parseObject(s);
        System.out.println("继续执行后面的代码");
    }

--------捕获异常

    @Test
    void testJSON(){
        String s = "没有数据返回";
        try{
            JSONObject jsonObject = JSON.parseObject(s);
        }catch (Exception e){
            System.out.println("这不是一个json");
        }
        System.out.println("继续执行后面的代码");
    }

如果不捕获异常,后面的代码将无法执行,这肯定是我们不希望看到的。

还有一个就是finally的使用,这个其实不是很常用,但是看个人需要。

    @Test
    void testJSON(){
        String s = "{\"pageSize\":\"10\",\"page\":\"1\"}";
        try{
            JSONObject jsonObject = JSON.parseObject(s);
        }catch (Exception e){
            System.out.println("这不是一个json");
        }finally {
            System.out.println("都会执行");
        }
        System.out.println("继续执行后面的代码");
    }

无论是否捕获到异常都会执行finally里面的代码块,这里就没有放出捕获到异常的情况了。可以自己尝试。

这只是举一个例子,实际应用场景还有很多。


版权声明:本文为Tao____原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。