• Java中的异常处理4_如何安心调用方法


    我还是个菜鸡.如果有人看到请带思考阅读...

    一、前言

    Java中的异常有两种

    • 编译时异常(受检异常)

    写代码的时候就划红线,明确要求去处理.

    • 运行时异常(非受检异常)

    写代码的时候不会有问题,运行的时候才会报错.

    二、调用某个方法

    1.不要管调用的方法内部多复杂,只要关注调用的方法的最外层是否有异常抛出.

    调用某个方法,内部的异常能不能被捕捉到.

    我们只用关心调用的该方法中,最外层是否有异常抛出.

    抛出的是什么,我们就能捕获到什么,甚至可以用更厉害的catch Exception来处理.

    //RuntimeException是继承自Exception的
    public class RuntimeException extends Exception {
        ...
    }
    

    2.有的方法内部catch到异常是不抛出异常的

    比如像下面这样,方法最外层捕捉到异常后,选择返回值而不是抛出去.

        public static int doSome(int num) {
            try {
                if (num % 2 == 0) {
                    System.out.println("出现异常");
                    throw new Exception();
                }
            } catch (Exception e) {
                return -1;
            }
            return 0;
        }
    

    调用该方法时catch是捕捉不到的

        public static void main(String[] args) {
            try {
                doSome(2);
            } catch (Exception myException) {
                System.out.println("捕捉到异常");
            }
        }
    

    运行结果:

    调用的doSome()内部出现了异常,调用时直接catch后,"捕捉到异常"未输出.

    出现异常
    
  • 相关阅读:
    李洪强IOS经典面试题 33-计算有多少个岛屿
    李洪强iOS经典面试题32-简单介绍 ARC 以及 ARC 实现的原理
    李洪强iOS经典面试题31-解释垃圾回收的原理
    iOS音频合并
    Macbook小问题
    weex-iOS集成
    WEEX快速入门
    Mac上Nginx-增加对HLS的支持
    iOS直播-基于RTMP的视频推送
    iOS直播-播放基于RTMP协议的视频
  • 原文地址:https://www.cnblogs.com/yang37/p/14106417.html
Copyright © 2020-2023  润新知