Error与Exception

(1)Error类和Exception类都继承自Throwable类。

Error的继承关系:
java.lang.Object-> java.lang.Throwable-> java.lang.Error

Exception的继承关系:
java.lang.Object-> java.lang.Throwable-> java.lang.Exception

(2)二者的不同之处:

 Exception:

1.可以是可被控制(checked) 或不可控制的(unchecked)

2.表示一个由程序员导致的错误

3.应该在应用程序级被处理

 Error:

1.总是不可控制的(unchecked)

2.经常用来用于表示系统错误或低层资源的错误

3.如何可能的话,应该在系统级被捕捉

(3)Java 中异常类的继承关系图:
                                Error与Exception_第1张图片

Throwable Class Hierarchy

  • class java.lang.Throwable (implements java.io.Serializable)
    • class java.lang.Error
      • class java.awt.AWTError
      • class java.lang.LinkageError
        • class java.lang.ClassCircularityError
        • class java.lang.ClassFormatError
        • class java.lang.ExceptionInInitializerError
        • class java.lang.IncompatibleClassChangeError
          • class java.lang.AbstractMethodError
          • class java.lang.IllegalAccessError
          • class java.lang.InstantiationError
          • class java.lang.NoSuchFieldError
          • class java.lang.NoSuchMethodError
        • class java.lang.NoClassDefFoundError
        • class java.lang.UnsatisfiedLinkError
        • class java.lang.VerifyError
      • class java.lang.ThreadDeath
      • class java.lang.VirtualMachineError
        • class java.lang.InternalError
        • class java.lang.OutOfMemoryError
        • class java.lang.StackOverflowError
        • class java.lang.UnknownError
    • class java.lang.Exception
      • class java.awt.AWTException
      • class java.security.acl.AclNotFoundException
      • class java.rmi.AlreadyBoundException
      • class java.lang.ClassNotFoundException
      • class java.lang.CloneNotSupportedException
        • class java.rmi.server.ServerCloneException
      • class java.util.zip.DataFormatException
      • class java.security.DigestException
      • class java.io.IOException
        • class java.io.CharConversionException
        • class java.io.EOFException
        • class java.io.FileNotFoundException
        • class java.io.InterruptedIOException
        • class java.net.MalformedURLException
        • class java.io.ObjectStreamException
          • class java.io.InvalidClassException
          • class java.io.InvalidObjectException
          • class java.io.NotActiveException
          • class java.io.NotSerializableException
          • class java.io.OptionalDataException
          • class java.io.StreamCorruptedException
          • class java.io.WriteAbortedException
        • class java.net.ProtocolException
        • class java.rmi.RemoteException
          • class java.rmi.AccessException
          • class java.rmi.ConnectException
          • class java.rmi.ConnectIOException
          • class java.rmi.server.ExportException
            • class java.rmi.server.SocketSecurityException
          • class java.rmi.MarshalException
          • class java.rmi.NoSuchObjectException
          • class java.rmi.ServerError
          • class java.rmi.ServerException
          • class java.rmi.ServerRuntimeException
          • class java.rmi.server.SkeletonMismatchException
          • class java.rmi.server.SkeletonNotFoundException
          • class java.rmi.StubNotFoundException
          • class java.rmi.UnexpectedException
          • class java.rmi.UnknownHostException
          • class java.rmi.UnmarshalException
        • class java.net.SocketException
          • class java.net.BindException
          • class java.net.ConnectException
          • class java.net.NoRouteToHostException
        • class java.io.SyncFailedException
        • class java.io.UTFDataFormatException
        • class java.net.UnknownHostException
        • class java.net.UnknownServiceException
        • class java.io.UnsupportedEncodingException
        • class java.util.zip.ZipException
      • class java.lang.IllegalAccessException
      • class java.lang.InstantiationException
      • class java.lang.InterruptedException
      • class java.beans.IntrospectionException
      • class java.lang.reflect.InvocationTargetException
      • class java.security.KeyException
        • class java.security.InvalidKeyException
        • class java.security.KeyManagementException
      • class java.security.acl.LastOwnerException
      • class java.security.NoSuchAlgorithmException
      • class java.lang.NoSuchFieldException
      • class java.lang.NoSuchMethodException
      • class java.security.NoSuchProviderException
      • class java.rmi.NotBoundException
      • class java.security.acl.NotOwnerException
      • class java.text.ParseException
      • class java.beans.PropertyVetoException
      • class java.lang.RuntimeException
        • class java.lang.ArithmeticException
        • class java.lang.ArrayStoreException
        • class java.lang.ClassCastException
        • class java.util.EmptyStackException
        • class java.lang.IllegalArgumentException
          • class java.lang.IllegalThreadStateException
          • class java.security.InvalidParameterException
          • class java.lang.NumberFormatException
        • class java.lang.IllegalMonitorStateException
        • class java.lang.IllegalStateException
          • class java.awt.IllegalComponentStateException
        • class java.lang.IndexOutOfBoundsException
          • class java.lang.ArrayIndexOutOfBoundsException
          • class java.lang.StringIndexOutOfBoundsException
        • class java.util.MissingResourceException
        • class java.lang.NegativeArraySizeException
        • class java.util.NoSuchElementException
        • class java.lang.NullPointerException
        • class java.security.ProviderException
        • class java.lang.SecurityException
          • class java.rmi.RMISecurityException
      • class java.sql.SQLException
        • class java.sql.SQLWarning
          • class java.sql.DataTruncation
      • class java.rmi.server.ServerNotActiveException
      • class java.security.SignatureException
      • class java.util.TooManyListenersException
      • class java.awt.datatransfer.UnsupportedFlavorException


你可能感兴趣的:(java,exception,Class)