Module java.naming
Package javax.naming

Class NamingException

所有已实现的接口:
Serializable
直接已知的子类:
AttributeInUseException, AttributeModificationException, CannotProceedException, CommunicationException, ConfigurationException, ContextNotEmptyException, InsufficientResourcesException, InterruptedNamingException, InvalidAttributeIdentifierException, InvalidAttributesException, InvalidAttributeValueException, InvalidNameException, InvalidSearchControlsException, InvalidSearchFilterException, LimitExceededException, LinkException, NameAlreadyBoundException, NameNotFoundException, NamingSecurityException, NoInitialContextException, NoSuchAttributeException, NotContextException, OperationNotSupportedException, PartialResultException, ReferralException, SchemaViolationException, ServiceUnavailableException

public class NamingException extends Exception
这是Context和DirContext接口中的操作抛出的所有异常的超类。失败的性质由子类的名称描述。此异常捕获指示操作失败的信息,例如解析最后进行到哪里的信息。
  • 已解析的名称。已解析的名称部分。
  • 已解析的对象。名称解析进行到的对象。
  • 剩余的名称。尚未解析的名称部分。
  • 解释。解释名称解析失败的详细信息。
  • 根异常。导致抛出此命名异常的异常。
null是这些字段中的任何一个的可接受值。当为null时,表示没有为该字段记录任何信息。

NamingException实例不会针对并发多线程访问进行同步。尝试访问和修改单个NamingException实例的多个线程应锁定该对象。

此异常已经过改进,以符合通用目的的异常链接机制。根异常(或根本原因)与Throwable.getCause()方法返回的原因对象相同。

自:
1.3
参见:
  • Field Details

  • Constructor Details

    • NamingException

      public NamingException(String explanation)
      带有解释的构造一个新的NamingException。所有未指定的字段都设置为null。
      参数:
      explanation - 可能为null的字符串,包含有关此异常的其他详细信息。
      参见:
    • NamingException

      public NamingException()
      构造一个新的NamingException。所有字段都设置为null。
  • Method Details

    • getResolvedName

      public Name getResolvedName()
      检索成功解析的名称的前导部分。
      返回:
      已成功解析的名称部分。它是一个复合名称。它可以为null,这意味着已解析名称字段尚未设置。
      参见:
    • getRemainingName

      public Name getRemainingName()
      检索未解析的名称的剩余部分。
      返回:
      尚未解析的名称部分。它是一个复合名称。它可以为null,这意味着剩余名称字段尚未设置。
      参见:
    • getResolvedObj

      public Object getResolvedObj()
      检索解析成功的对象。这是已解析名称绑定的对象。
      返回:
      到目前为止已解析的可能为null的对象。null表示尚未设置已解析对象字段。
      参见:
    • getExplanation

      public String getExplanation()
      检索与此异常关联的解释。
      返回:
      解释更多关于此异常的可能为null的详细字符串。如果为null,则表示此异常没有详细消息。
      参见:
    • setResolvedName

      public void setResolvedName(Name name)
      设置此异常的已解析名称字段。

      name是一个复合名称。如果要使用复合名称或字符串设置此字段,必须将复合名称“字符串化”,并使用该字符串创建一个具有单个组件的复合名称。然后,可以使用生成的复合名称调用此方法。

      将制作并存储name的副本。对name的后续更改不会影响此NamingException中的副本,反之亦然。

      参数:
      name - 要设置已解析名称的可能为null名称。如果为null,则将已解析名称字段设置为null。
      参见:
    • setRemainingName

      public void setRemainingName(Name name)
      设置此异常的剩余名称字段。

      name是一个复合名称。如果要使用复合名称或字符串设置此字段,必须将复合名称“字符串化”,并使用该字符串创建一个具有单个组件的复合名称。然后,可以使用生成的复合名称调用此方法。

      将制作并存储name的副本。对name的后续更改不会影响此NamingException中的副本,反之亦然。

      参数:
      name - 要设置剩余名称的可能为null名称。如果为null,则将剩余名称字段设置为null。
      参见:
    • setResolvedObj

      public void setResolvedObj(Object obj)
      设置此异常的已解析对象字段。
      参数:
      obj - 要设置已解析对象的可能为null对象。如果为null,则已解析对象字段将设置为null。
      参见:
    • appendRemainingComponent

      public void appendRemainingComponent(String name)
      将名称作为剩余名称中的最后一个组件添加。
      参数:
      name - 要添加的组件。如果名称为null,则此方法不执行任何操作。
      参见:
    • appendRemainingName

      public void appendRemainingName(Name name)
      将'名称'中的组件作为剩余名称中的最后组件添加。

      name是一个复合名称。如果要追加复合名称,应“字符串化”复合名称,然后调用接受String参数的重载形式。

      name的后续更改不会影响此NamingException中的剩余名称字段,反之亦然。

      参数:
      name - 包含要添加的有序组件的可能为null名称。如果名称为null,则此方法不执行任何操作。
      参见:
    • getRootCause

      public Throwable getRootCause()
      检索此NamingException的根本原因(如果有)。在服务提供程序希望向调用者指示与命名无关的异常,但同时希望使用NamingException结构指示命名操作进行到何种程度时,将使用命名异常的根本原因。

      此方法早于通用目的的异常链接功能。现在,getCause()方法是获取此信息的首选方法。

      返回:
      导致此命名异常的可能为null异常。如果为null,则表示此命名异常没有设置根本原因。
      参见:
    • setRootCause

      public void setRootCause(Throwable e)
      记录此NamingException的根本原因。如果ethis,则此方法不执行任何操作。

      此方法早于通用目的的异常链接功能。现在,initCause(Throwable)方法是记录此信息的首选方法。

      参数:
      e - 导致命名操作失败的可能为null异常。如果为null,则表示此命名异常没有根本原因。
      参见:
    • getCause

      public Throwable getCause()
      返回此异常的原因。原因是导致此命名异常被抛出的可抛出对象。如果原因不存在或未知,则返回null
      覆盖:
      getCause 在类 Throwable
      返回:
      此异常的原因,如果原因不存在或未知,则返回null
      自:
      1.4
      参见:
    • initCause

      public Throwable initCause(Throwable cause)
      将此异常的原因初始化为指定值。原因是导致此命名异常被抛出的可抛出对象。

      此方法最多可调用一次。

      覆盖:
      initCause 在类 Throwable
      参数:
      cause - 原因,将由getCause()方法保存以供以后检索。如果原因不存在或未知,则null值表示原因不存在或未知。
      返回:
      指向此NamingException实例的引用。
      抛出:
      IllegalArgumentException - 如果cause是此异常。(可抛出对象不能是其自身的原因。)
      IllegalStateException - 如果此异常上已调用此方法。
      自:
      1.4
      参见:
    • toString

      public String toString()
      生成此异常的字符串表示形式。字符串表示形式包括此异常的类名、详细消息以及如果有根本原因,则根本原因异常的字符串表示形式,后跟剩余名称(如果不为null)。此字符串用于调试,不用于以编程方式解释。
      覆盖:
      toString 在类 Throwable
      返回:
      包含此异常的字符串表示形式的非null字符串。
    • toString

      public String toString(boolean detail)
      以更详细的方式生成字符串表示形式。此字符串表示形式包括由不带参数的toString()返回的信息,以及已解析对象的字符串表示形式(如果不为null)。此字符串用于调试,不用于以编程方式解释。
      参数:
      detail - 如果为true,则包括有关已解析对象的详细信息,以及其他信息。
      返回:
      包含字符串表示形式的非null字符串。