Java基础异常的两个重要方法

简介: Java基础异常的两个重要方法

1、获取异常非常简单的描述信息:


String msg = exception.getMessage();


2、打印异常追踪的堆栈信息:


exception.printStackTrace();


示例代码01:


public class ExceptionTest08 {
    public static void main(String[] args) {
        //这里是为了测试getMessage()方法和printStackTrace()方法
        //这里只是new了异常对象,但是没有将异常对象抛出。JVM认为这是一个普通的java对象!
        NullPointerException e = new NullPointerException("空指针异常!");
        //获取异常简单描述信息:这个信息实际上就是构造方法上面String参数
        String message = e.getMessage();
        System.out.println(message);
        //打印异常堆栈信息
        //java后台打印异常堆栈信息的时候,采用了异步线程的方式打印的
        e.printStackTrace();
        for(int i = 0;i<10;i++){
            System.out.println(i);
        }
        System.out.println("HelloWorld!");
    }
}


运行结果:


0a2653c851af460fa595bd959398a8f1.png


3、我们以后查看异常的追踪信息,我们应该怎么看,可以快速的调试程序呢?


异常信息追踪信息,从上往下一行一行看

但是需要注意的是:SUN写的代码就不用看了(看包名就知道是自己的还是SUN的)

主要的问题是出现在自己编写的代码上


示例代码02:


public class ExceptionTest09 {
    public static void main(String[] args) {
        try {
            m1();
        } catch (FileNotFoundException e) {
            //打印异常简单信息
            String message = e.getMessage();
            System.out.println(message);
            //打印异常堆栈信息
            //在实际开发中,建议使用这个。养成好习惯!
            //这行代码要写上,不然出问题你也不知道!
            e.printStackTrace();
        }
    }
    public static void m1() throws FileNotFoundException {
        m2();
    }
    public static void m2() throws FileNotFoundException {
        m3();
    }
    public static void m3() throws FileNotFoundException {
        new FileInputStream("D:\\Noepad++\\config.xml");
    }
}


运行结果:


2d65d23f6d4748949b924e4057485923.png

相关文章
|
2月前
|
Java
在 Java 中捕获和处理自定义异常的代码示例
本文提供了一个 Java 代码示例,展示了如何捕获和处理自定义异常。通过创建自定义异常类并使用 try-catch 语句,可以更灵活地处理程序中的错误情况。
73 1
|
2月前
|
消息中间件 Java Kafka
在Java中实现分布式事务的常用框架和方法
总之,选择合适的分布式事务框架和方法需要综合考虑业务需求、性能、复杂度等因素。不同的框架和方法都有其特点和适用场景,需要根据具体情况进行评估和选择。同时,随着技术的不断发展,分布式事务的解决方案也在不断更新和完善,以更好地满足业务的需求。你还可以进一步深入研究和了解这些框架和方法,以便在实际应用中更好地实现分布式事务管理。
|
2月前
|
Java API 调度
如何避免 Java 中的 TimeoutException 异常
在Java中,`TimeoutException`通常发生在执行操作超过预设时间时。要避免此异常,可以优化代码逻辑,减少不必要的等待;合理设置超时时间,确保其足够完成正常操作;使用异步处理或线程池管理任务,提高程序响应性。
83 12
|
2月前
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
77 9
|
2月前
|
Java
在 Java 中,如何自定义`NumberFormatException`异常
在Java中,自定义`NumberFormatException`异常可以通过继承`IllegalArgumentException`类并重写其构造方法来实现。自定义异常类可以添加额外的错误信息或行为,以便更精确地处理特定的数字格式转换错误。
44 1
|
2月前
|
安全 Java 开发者
Java中WAIT和NOTIFY方法必须在同步块中调用的原因
在Java多线程编程中,`wait()`和`notify()`方法是实现线程间协作的关键。这两个方法必须在同步块或同步方法中调用,这一要求背后有着深刻的原因。本文将深入探讨为什么`wait()`和`notify()`方法必须在同步块中调用,以及这一机制如何确保线程安全和避免死锁。
45 4
|
2月前
|
Java
深入探讨Java中的中断机制:INTERRUPTED和ISINTERRUPTED方法详解
在Java多线程编程中,中断机制是协调线程行为的重要手段。了解和正确使用中断机制对于编写高效、可靠的并发程序至关重要。本文将深入探讨Java中的`Thread.interrupted()`和`Thread.isInterrupted()`方法的区别及其应用场景。
45 4
|
2月前
|
Java 数据处理 数据安全/隐私保护
Java处理数据接口方法
Java处理数据接口方法
27 1
|
2月前
|
IDE 前端开发 Java
怎样避免 Java 中的 NoSuchFieldError 异常
在Java中避免NoSuchFieldError异常的关键在于确保类路径下没有不同版本的类文件冲突,避免反射时使用不存在的字段,以及确保所有依赖库版本兼容。编译和运行时使用的类版本应保持一致。
78 7
|
2月前
|
Java 编译器
如何避免在 Java 中出现 NoSuchElementException 异常
在Java中,`NoSuchElementException`通常发生在使用迭代器、枚举或流等遍历集合时,尝试访问不存在的元素。为了避免该异常,可以在访问前检查是否有下一个元素(如使用`hasNext()`方法),或者使用`Optional`类处理可能为空的情况。正确管理集合边界和条件判断是关键。
91 6