Most visited

Recently visited

Added in API level 1

XmlPullParserException

public class XmlPullParserException
extends 异常

java.lang.Object
   ↳ java.lang.Throwable
     ↳ java.lang.Exception
       ↳ org.xmlpull.v1.XmlPullParserException


抛出这个异常来表示XML Pull Parser相关的错误。

Summary

Fields

protected int column

protected Throwable detail

protected int row

Public constructors

XmlPullParserException(String s)
XmlPullParserException(String msg, XmlPullParser parser, Throwable chain)

Public methods

int getColumnNumber()
Throwable getDetail()
int getLineNumber()
void printStackTrace()

将此throwable及其回溯打印到标准错误流。

Inherited methods

From class java.lang.Throwable
From class java.lang.Object

Fields

column

Added in API level 1
int column

detail

Added in API level 1
Throwable detail

row

Added in API level 1
int row

Public constructors

XmlPullParserException

Added in API level 1
XmlPullParserException (String s)

Parameters
s String

XmlPullParserException

Added in API level 1
XmlPullParserException (String msg, 
                XmlPullParser parser, 
                Throwable chain)

Parameters
msg String
parser XmlPullParser
chain Throwable

Public methods

getColumnNumber

Added in API level 1
int getColumnNumber ()

Returns
int

getDetail

Added in API level 1
Throwable getDetail ()

Returns
Throwable

getLineNumber

Added in API level 1
int getLineNumber ()

Returns
int

printStackTrace

Added in API level 1
void printStackTrace ()

将此throwable及其回溯打印到标准错误流。 此方法在错误输出流上打印此Throwable对象的堆栈跟踪,该值是字段System.err的值。 第一行输出包含此对象的toString()方法的结果。 剩余线代表先前由方法fillInStackTrace()记录的数据。 这个信息的格式取决于实现,但下面的例子可能被认为是典型的:

 java.lang.NullPointerException
         at MyClass.mash(MyClass.java:9)
         at MyClass.crunch(MyClass.java:6)
         at MyClass.main(MyClass.java:3)
 
This example was produced by running the program:
 class MyClass {
     public static void main(String[] args) {
         crunch(null);
     }
     static void crunch(int[] a) {
         mash(a);
     }
     static void mash(int[] b) {
         System.out.println(b[0]);
     }
 }
 
The backtrace for a throwable with an initialized, non-null cause should generally include the backtrace for the cause. The format of this information depends on the implementation, but the following example may be regarded as typical:
 HighLevelException: MidLevelException: LowLevelException
         at Junk.a(Junk.java:13)
         at Junk.main(Junk.java:4)
 Caused by: MidLevelException: LowLevelException
         at Junk.c(Junk.java:23)
         at Junk.b(Junk.java:17)
         at Junk.a(Junk.java:11)
         ... 1 more
 Caused by: LowLevelException
         at Junk.e(Junk.java:30)
         at Junk.d(Junk.java:27)
         at Junk.c(Junk.java:21)
         ... 3 more
 
Note the presence of lines containing the characters "...". These lines indicate that the remainder of the stack trace for this exception matches the indicated number of frames from the bottom of the stack trace of the exception that was caused by this exception (the "enclosing" exception). This shorthand can greatly reduce the length of the output in the common case where a wrapped exception is thrown from same method as the "causative exception" is caught. The above example was produced by running the program:
 public class Junk {
     public static void main(String args[]) {
         try {
             a();
         } catch(HighLevelException e) {
             e.printStackTrace();
         }
     }
     static void a() throws HighLevelException {
         try {
             b();
         } catch(MidLevelException e) {
             throw new HighLevelException(e);
         }
     }
     static void b() throws MidLevelException {
         c();
     }
     static void c() throws MidLevelException {
         try {
             d();
         } catch(LowLevelException e) {
             throw new MidLevelException(e);
         }
     }
     static void d() throws LowLevelException {
        e();
     }
     static void e() throws LowLevelException {
         throw new LowLevelException();
     }
 }

 class HighLevelException extends Exception {
     HighLevelException(Throwable cause) { super(cause); }
 }

 class MidLevelException extends Exception {
     MidLevelException(Throwable cause)  { super(cause); }
 }

 class LowLevelException extends Exception {
 }
 
As of release 7, the platform supports the notion of suppressed exceptions (in conjunction with the try-with-resources statement). Any exceptions that were suppressed in order to deliver an exception are printed out beneath the stack trace. The format of this information depends on the implementation, but the following example may be regarded as typical:
 Exception in thread "main" java.lang.Exception: Something happened
  at Foo.bar(Foo.java:10)
  at Foo.main(Foo.java:5)
  Suppressed: Resource$CloseFailException: Resource ID = 0
          at Resource.close(Resource.java:26)
          at Foo.bar(Foo.java:9)
          ... 1 more
 
Note that the "... n more" notation is used on suppressed exceptions just at it is used on causes. Unlike causes, suppressed exceptions are indented beyond their "containing exceptions."

异常既可以包含原因,也可以包含一个或多个抑制异常:

 Exception in thread "main" java.lang.Exception: Main block
  at Foo3.main(Foo3.java:7)
  Suppressed: Resource$CloseFailException: Resource ID = 2
          at Resource.close(Resource.java:26)
          at Foo3.main(Foo3.java:5)
  Suppressed: Resource$CloseFailException: Resource ID = 1
          at Resource.close(Resource.java:26)
          at Foo3.main(Foo3.java:5)
 Caused by: java.lang.Exception: I did it
  at Foo3.main(Foo3.java:8)
 
Likewise, a suppressed exception can have a cause:
 Exception in thread "main" java.lang.Exception: Main block
  at Foo4.main(Foo4.java:6)
  Suppressed: Resource2$CloseFailException: Resource ID = 1
          at Resource2.close(Resource2.java:20)
          at Foo4.main(Foo4.java:5)
  Caused by: java.lang.Exception: Rats, you caught me
          at Resource2$CloseFailException.
      
      
      
       
       
       (Resource2.java:45)
          ... 2 more
 
      
      
      

Hooray!