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()只是获取了异常的详细消息字符串。



注意一点:catch是处理异常,如果没有catch就代表没有被处理过,,如果异常是检测时异常,那么必须申明。