zoukankan      html  css  js  c++  java
  • 9.4 Java的异常跟踪栈

    异常对象的printStackTTrace()方法用于打印异常的跟踪栈信息,根据printStackTTrace()方法输出的结果,开发者可以找到异常的源头,并跟踪到异常一路触发的过程。
    下面测试printStackTrace的例子:

    class SelfException extends RuntimeException
    {
    	SelfException(){}
    	SelfException(String msg)
    	{
    		super(msg);
    	}
    }
    public class printStackTraceTest
    {
    	public static void main(String[] args)
    	{
    		firstMed();
    	}
    
    	public static void firstMed()
    	{
    		secondMed();
    	}
    	public static void secondMed()
    	{
    		thirdMed();
    	}
    	public static void thirdMed()
    	{
    		throw new SelfException("自定义异常信息");
    	}
    }
    

    运行上面的程序可以看出如下图所示的结果:

    从图可以看出异常从thirdMed方法开始触发,传到secondMed方法,再传到firstMed方法,最后传到main方法,在main方法终止,这个过程就是Java的异常跟踪栈。
    面向对象的应用程序运行时,经常会发生椅子额方法调用,从而形成方法调用栈,异常的传播则相反:只要异常没有被完全捕获(包括异常没有被捕获,或异常被处理后抛出新的异常),异常从异常发生的方法开始向外传播,首先传给方法的调用者,该方法调用者再次传给其调用者,直至传到main方法,如果main方法依然没有处理该异常,JVM会终止该程序,并打印跟踪栈信息。

  • 相关阅读:
    如何基于Azure平台实现MySQL HA(方法论篇)
    如何对Azure磁盘性能进行测试
    Azure底层架构的初步分析
    聊聊Azure的安全性
    关于Azure带宽的测试
    JavaScript 优化
    SQL时间段查询
    win7+64位+Oracle+11g+64位下使用PLSQL+Developer+的解决办法
    putty 使用方法,中文教程
    怎样才能专心工作
  • 原文地址:https://www.cnblogs.com/weststar/p/12629482.html
Copyright © 2011-2022 走看看