zoukankan      html  css  js  c++  java
  • 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后,"捕捉到异常"未输出.

    出现异常
    
  • 相关阅读:
    bch算法生成nand flash中512byte校验和
    CFileDialog用法总结
    c++修改打印机名称
    c++连接打印机(转载)
    转发:for /f命令之—Delims和Tokens用法&总结
    c++中DLL文件的编写与实现——三步走
    GhostScript说明
    打印机API
    c++中DLL文件的编写与实现——三步走(2)
    windows程序设计基础知识
  • 原文地址:https://www.cnblogs.com/yang37/p/14106417.html
Copyright © 2011-2022 走看看