⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chainedexception.java

📁 html解析包 可以很方便的解析html 纯java 实现
💻 JAVA
字号:
// HTMLParser Library $Name: v1_6_20051112 $ - A java-based parser for HTML// http://sourceforge.org/projects/htmlparser// Copyright (C) 2004 Claude Duguay//// Revision Control Information//// $Source: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/util/ChainedException.java,v $// $Author: derrickoswald $// $Date: 2004/01/02 16:24:58 $// $Revision: 1.44 $//// This library is free software; you can redistribute it and/or// modify it under the terms of the GNU Lesser General Public// License as published by the Free Software Foundation; either// version 2.1 of the License, or (at your option) any later version.//// This library is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU// Lesser General Public License for more details.//// You should have received a copy of the GNU Lesser General Public// License along with this library; if not, write to the Free Software// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA//package org.htmlparser.util;/** * Support for chained exceptions in code that predates Java 1.4. * A chained exception can use a Throwable argument to reference * a lower level exception. The chained exception provides a * stack trace that includes the message and any throwable * exception included as an argument in the chain. * * For example: * *   ApplicationException: Application problem encountered; *   ProcessException: Unable to process document; *   java.io.IOException: Unable to open 'filename.ext' *     at ChainedExceptionTest.openFile(ChainedExceptionTest.java:19) *     at ChainedExceptionTest.processFile(ChainedExceptionTest.java:27) *     at ChainedExceptionTest.application(ChainedExceptionTest.java:40) *     at ChainedExceptionTest.main(ChainedExceptionTest.java:52) * * Represents the output from two nested exceptions. The outside * exception is a subclass of ChainedException called * ApplicationException, which includes a throwable reference. * The throwable reference is also a subclass of ChainedException, * called ProcessException, which in turn includes a reference to * a standard IOException. In each case, the message is increasingly * specific about the nature of the problem. The end user may only * see the application exception, but debugging is greatly * enhanced by having more details in the stack trace. * * @author Claude Duguay **/import java.io.PrintStream;import java.io.PrintWriter;import java.util.Vector;public class ChainedException  extends Exception{  protected Throwable throwable;  public ChainedException() {}  public ChainedException(String message)  {    super(message);  }  public ChainedException(Throwable throwable)  {    this.throwable = throwable;  }  public ChainedException(String message, Throwable throwable)  {    super(message);    this.throwable = throwable;  }  public String[] getMessageChain()  {    Vector list = getMessageList();    String[] chain = new String[list.size()];    list.copyInto (chain);    return chain;  }  public Vector getMessageList()  {    Vector list = new Vector();    list.addElement(getMessage());    if (throwable != null)    {      if (throwable instanceof ChainedException)      {        ChainedException chain = (ChainedException)throwable;        Vector sublist = chain.getMessageList ();        for (int i = 0; i < sublist.size (); i++)            list.addElement (sublist.elementAt (i));      }      else      {        String message = throwable.getMessage();        if (message != null && !message.equals(""))        {          list.addElement (message);        }      }    }    return list;  }  public Throwable getThrowable()  {    return throwable;  }  public void printStackTrace()  {    printStackTrace(System.err);  }  public void printStackTrace(PrintStream out)  {    synchronized (out)    {      if (throwable != null)      {        out.println(getClass().getName() +          ": " + getMessage() + ";");        throwable.printStackTrace(out);      }      else      {        super.printStackTrace(out);      }    }  }  public void printStackTrace(PrintWriter out)  {    synchronized (out)    {      if (throwable != null)      {        out.println(getClass().getName() +          ": " + getMessage() + ";");        throwable.printStackTrace(out);      }      else      {        super.printStackTrace(out);      }    }  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -