zoukankan      html  css  js  c++  java
  • Java 异常Exception e中e的getMessage()和toString()以及 e.printStackTrace();方法的区别

    Exception e中e的getMessage()和toString()方法的区别:
    示例代码1:
    public class TestInfo {
        private static String str =null;
        public static void main(String[] args) {
            System.out.println("test exception");
            try {
                if(str.equals("name")){
                    System.out.println("test exception");
                }
            } catch (Exception e) {
                System.out.println(e.toString());
                System.out.println(e.getMessage());
            }
        }
    }

    输出结果:
    java.lang.NullPointerException
    null

    示例代码2:
    public class TestInfo {
        private static int m = 0;
        public static void main(String[] args) {
            System.out.println("test exception");
            try {
                m = 899/0;
            } catch (Exception e) {
                System.out.println(e.toString());
                System.out.println(e.getMessage());
            }
        }
    }
    输出结果:
    java.lang.ArithmeticException: / by zero
    / by zero


    总结:
    由此可以看出,e.toString()获取的信息包括异常类型和异常详细消息,而e.getMessage()只是获取了异常的详细消息字符串。
     
     
    e的getMessage()和printStackTrace()方法的区别:
    e.getMessage(); 只会获得具体的异常名称. 比如说NullPoint 空指针,就告诉你说是空指针... 
    
    e.printStackTrace();会打出详细异常,异常名称,出错位置,便于调试用.. 
    一般一个异常至少几十行
  • 相关阅读:
    4500-X验证镜像完整性
    激活4500-X RTU license
    Nexus:hardware type changed to No-Transceiver
    Bug搬运工-CSCvf74866:Webauth scaling improvements
    win10无法登陆SSG进行WEB UI管理
    FTD vs FMC
    转:思科3750交换机堆叠技术配置向导
    ROM, RAM, NVRAM and Flash Memory on Cisco Routers
    RADIUS Authentication with WPA2-Enterprise
    BUG搬运工:CSCun88303-CIMC Memory Leak : Can't SSH/HTTP to CIMC
  • 原文地址:https://www.cnblogs.com/yangyi9343/p/5900771.html
Copyright © 2011-2022 走看看