【JAVA】Java 异常中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.printStackTrace():在控制台打印出异常种类,错误信息和出错位置等

END

原文地址:https://www.cnblogs.com/anliux/p/11644279.html

时间: 2024-08-08 07:19:06

【JAVA】Java 异常中e的getMessage()和toString()方法的异同的相关文章

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(&q

Java:验证在类继承过程中equals()、 hashcode()、toString()方法的使用

以下通过实际例子对类创建过程汇中常用的equals().hashcode().toString()方法进行展示,三个方法的创建过程具有通用性,在项目中可直接改写. //通过超类Employee和其子类Manager ,验证在类继承过程中equals().hashcode().toString()方法的使用.package equals;public class EqualsTest{    public static void main(String[] args){        Employ

Java SE环境中测试JPA实体的简单方法

Java SE环境中测试JPA实体的简单方法 出于软件质量的考虑,理论上来说我们写的一切代码都要经过测试.JPA的测试不像普通的组件那么方便,因为JPA涉及到数据库,所以集成测试必不可少,像Arquillian这样的测试框架能处理比较复杂的集成测试,但是它的配置相对也更复杂一点,所以本篇文章主要讲一下在Java SE环境中较简单地测试JPA实体(Entity)的方法. 我们需要实现的目标有:1.不需要mysql这样需要额外安装的数据库:2.在SE环境中可以直接测试. 相关工具我们主要用到JUni

Java Web项目中连接Access数据库的配置方法

本文是对前几天的"JDBC连接Access数据库的几种方式"这篇的升级.因为在做一些小项目的时候遇到的问题,因此才决定写这篇博客的.昨天已经将博客公布了.可是后来经过一些验证有点问题,所以今天改了一下又一次的公布了 老师决定期末考试採用access数据库实现增删改查.我觉得如今的我已经没有问题了.可是曾经都是在JSP页面中连接access数据库,不管是下面的那种方式都进行了连接的练习,可是如今我想让我的项目中的訪问access数据库的java代码,封装到DAO中,在DAO中连接数据库,

Java记录 -57- Object的equals、hashcode和toString方法

Object的hashCode方法是最基础的,equals和toString方法都间接的使用了hashCode方法. 一般情况下,我们在重写一个类的equals方法时,都会连带重写hashCode方法.IDE工具eclipse给我们提供了快捷的重写equals和hashCode的方法,而不是其中一个,更说明了这个两个方法一般都会一块进行重写. Object的equals方法: public boolean equals(Object obj) {     return (this == obj)

Collection中的List,Set的toString()方法

代码:     Collection c = new ArrayList();     c.add("hello");     c.add("world");     c.add("java");         System.out.println(c);     为什么c输出的不是地址值呢?     A:Collection c = new ArrayList();         这是多态,所以输出c的toString()方法,其实是输出A

java之字符串中查找字串的常见方法

1.int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引.      int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引. 函数数名:indexOf 调用方式:Object(String).indexOf(String str,int startIndex)或String.indexOf(String str) 参数说明:str需要查找的字串. startI

java 子接口中定义与父接口相同的方法

今天碰到一个很有意思的问题,在java中如果子接口中定义了与父接口中已经有的方法会发生什么事情呢?比如: interface IRunnable extends Runnable{ void run(); } 刚开始我还以为这样子的语法应该不能通过编译器,没有想到这样子做编译器并没有做出任何警告. 当然大多数情况下我们都不会这么做,因为这样做似乎没有什么意义.但为了真相,我还是做了个小实现: public class InterfaceDebug{ public static void main

【Java】Arrays中之于int数组的方法,Integer数组与int数组

在java.util.*中,Arrays似乎很有用的样子,似乎用里面的方法就可以避免使用for循环要自己写对数组的查找.初始化.排序等方法了. 一.先说说Arrays中对整形数组真的有用的方法 1.首先是Arrays.toString() 一般,直接用System.out.println()打印数组,比如这样: int array[] = { 8, 7, 100, 88, 6, 4, 5, 33, 10 }; System.out.println(array); 出来的结果是一堆乱码: [Lja