javax.naming

接口
异常
java.lang.Object
  继承者 java.lang.Throwable
      继承者 java.lang.Exception
          继承者 javax.naming.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 实例的多个线程应该锁定对象。

此异常已作出改进,以符合通用异常链机制。根异常(或根 cause)是与 Throwable.getCause() 方法返回的 cause 相同的对象。

从以下版本开始:
1.3
另请参见:
序列化表格

字段摘要
protected  Name remainingName
          包含尚未解析的剩余名称。
protected  Name resolvedName
          包含已成功解析的名称部分。
protected  Object resolvedObj
          包含一个对象,已成功解析的名称部分进行到该对象。
protected  Throwable rootException
          包含导致抛出此 NamingException 的原始异常。
 
构造方法摘要
NamingException()
          构造一个新的 NamingException。
NamingException(String explanation)
          使用解释构造一个新的 NamingException。
 
方法摘要
 void appendRemainingComponent(String name)
          将 name 作为剩余名称中最后的组件添加。
 void appendRemainingName(Name name)
          将 'name' 中的组件作为剩余名称中最后的组件添加。
 Throwable getCause()
          返回此异常的 cause。
 String getExplanation()
          检索与此异常关联的解释。
 Name getRemainingName()
          检索名称的剩余未解析部分。
 Name getResolvedName()
          检索成功被解析的名称的开头部分。
 Object getResolvedObj()
          检索已成功解析成的对象。
 Throwable getRootCause()
          检索此 NamingException 的根 cause,如果有的话。
 Throwable initCause(Throwable cause)
          将此异常的 cause 初始化为指定值。
 void setRemainingName(Name name)
          设置此异常的剩余名称字段。
 void setResolvedName(Name name)
          设置此异常的已解析名称字段。
 void setResolvedObj(Object obj)
          设置此异常的已解析对象字段。
 void setRootCause(Throwable e)
          记录此 NamingException 的根 cause。
 String toString()
          生成此异常的字符串表示形式。
 String toString(boolean detail)
          生成更详细的字符串表示形式。
 
从类 java.lang.Throwable 继承的方法
fillInStackTrace, getLocalizedMessage, getMessage, getStackTrace, printStackTrace, printStackTrace, printStackTrace, setStackTrace
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

字段详细信息

resolvedName

protected Name resolvedName
包含已成功解析的名称部分。它可以是一个复合名称,并且可以为 null。此字段由构造方法初始化。应该通过其 get 和 set 方法访问和操作此字段。

另请参见:
getResolvedName(), setResolvedName(javax.naming.Name)

resolvedObj

protected Object resolvedObj
包含一个对象,已成功解析的名称部分进行到该对象。可以为 null。此字段由构造方法初始化。应该通过其 get 和 set 方法访问和操作此字段。

另请参见:
getResolvedObj(), setResolvedObj(java.lang.Object)

remainingName

protected Name remainingName
包含尚未解析的剩余名称。它可以是一个复合名称,并且可以为 null。此字段由构造方法初始化。应该通过其 get、set 和 "append" 方法访问和操作此字段。

另请参见:
getRemainingName(), setRemainingName(javax.naming.Name), appendRemainingName(javax.naming.Name), appendRemainingComponent(java.lang.String)

rootException

protected Throwable rootException
包含导致抛出此 NamingException 的原始异常。如果存在可以从原始异常中获得的附加信息,或者无法将原始异常映射到 NamingException 的子类,则设置此字段。可以为 null。

此字段早于通用异常链设施。initCause(Throwable)getCause() 方法现在是访问此信息的首选方法。

另请参见:
getRootCause(), setRootCause(Throwable), initCause(Throwable), getCause()
构造方法详细信息

NamingException

public NamingException(String explanation)
使用解释构造一个新的 NamingException。将所有未指定字段都设置为 null。

参数:
explanation - 一个可能为 null 的字符串,包含有关此异常的附加详细信息。
另请参见:
Throwable.getMessage()

NamingException

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

方法详细信息

getResolvedName

public Name getResolvedName()
检索成功被解析的名称的开头部分。

返回:
成功被解析的名称部分。该名称是一个复合名称。它可以为 null,表示尚未设置已解析名称字段。
另请参见:
getResolvedObj(), setResolvedName(javax.naming.Name)

getRemainingName

public Name getRemainingName()
检索名称的剩余未解析部分。

返回:
尚未解析的名称部分。该名称是一个复合名称。它可以为 null,表示尚未设置剩余名称字段。
另请参见:
setRemainingName(javax.naming.Name), appendRemainingName(javax.naming.Name), appendRemainingComponent(java.lang.String)

getResolvedObj

public Object getResolvedObj()
检索已成功解析成的对象。该对象是已解析名称被绑定到的对象。

返回:
到目前为止已被解析的对象(可能为 null)。null 意味着尚未设置已解析对象字段。
另请参见:
getResolvedName(), setResolvedObj(java.lang.Object)

getExplanation

public String getExplanation()
检索与此异常关联的解释。

返回:
更详细地解释此异常的字符串(可能为 null)。如果为 null,则意味着没有此异常的详细消息。
另请参见:
Throwable.getMessage()

setResolvedName

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

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

创建并存储 name 的副本。对 name 进行的后续更改不会影响此 NamingException 中的副本,反之亦然。

参数:
name - 用来设置已解析名称的名称(可能为 null)。如果其为 null,则将已解析名称字段设置为 null。
另请参见:
getResolvedName()

setRemainingName

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

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

创建并存储 name 的副本。对 name 进行的后续更改不会影响此 NamingException 中的副本,反之亦然。

参数:
name - 用来设置剩余名称的名称(可能为 null)。如果其为 null,则将剩余的名称字段设置为 null。
另请参见:
getRemainingName(), appendRemainingName(javax.naming.Name), appendRemainingComponent(java.lang.String)

setResolvedObj

public void setResolvedObj(Object obj)
设置此异常的已解析对象字段。

参数:
name - 用来设置已解析对象的对象(可能为 null)。如果为 null,则将已解析对象字段设置为 null。
另请参见:
getResolvedObj()

appendRemainingComponent

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

参数:
name - 要添加的组件。如果 name 为 null,则此方法不执行任何操作。
另请参见:
setRemainingName(javax.naming.Name), getRemainingName(), appendRemainingName(javax.naming.Name)

appendRemainingName

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

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

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

参数:
name - 要添加的包含有序组件的名称(可能为 null)。如果 name 为 null,则此方法不执行任何操作。
另请参见:
setRemainingName(javax.naming.Name), getRemainingName(), appendRemainingComponent(java.lang.String)

getRootCause

public Throwable getRootCause()
检索此 NamingException 的根 cause,如果有的话。如果服务提供者需要向调用者指示非命名相关异常,同时又需要使用 NamingException 结构指示命名操作进行的程度,则可以使用命名异常的根 cause。

这是通用异常链设施之前的方法。getCause() 方法现在是获取此信息的首选方法。

返回:
导致此命名异常的异常(可能为 null)。如果为 null,则意味着没有为此命名异常设置根 cause。
另请参见:
setRootCause(java.lang.Throwable), rootException, getCause()

setRootCause

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

这是通用异常链设施之前的方法。initCause(Throwable) 方法现在是记录此信息的首选方法。

参数:
e - 导致命名操作失败的异常(可能为 null)。如果为 null,则意味着此命名异常没有根 cause。
另请参见:
getRootCause(), rootException, initCause(java.lang.Throwable)

getCause

public Throwable getCause()
返回此异常的 cause。cause 是导致抛出此命名异常的 throwable 对象。如果 cause 不存在或是未知的,则返回 null

覆盖:
Throwable 中的 getCause
返回:
此异常的 cause,如果 cause 不存在或是未知的,则返回 null
从以下版本开始:
1.4
另请参见:
initCause(Throwable)

initCause

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

此方法至多可以调用一次。

覆盖:
Throwable 中的 initCause
参数:
cause - cause(保存此 cause,以便以后通过 getCause() 方法检索)。指示 cause 不存在或未知的 null 值。
返回:
对此 NamingException 实例的引用。
抛出:
IllegalArgumentException - 如果 cause 是此异常。(throwable 对象不能是它自己的 cause。)
IllegalStateException - 如果已经在此异常上调用此方法。
从以下版本开始:
1.4
另请参见:
getCause()

toString

public String toString()
生成此异常的字符串表示形式。该字符串表示形式由此异常的类名称、详细消息组成,如果该异常有根 cause,则还包括根 cause 异常的字符串表示形式,后跟剩余名称(如果不为 null)。此字符串用于调试,不以编程方式进行解释。

覆盖:
Throwable 中的 toString
返回:
包含此异常字符串表示形式的非 null 字符串。

toString

public String toString(boolean detail)
生成更详细的字符串表示形式。此字符串表示形式由不使用任何参数的 toString() 返回的信息以及已解析对象(如果不为 null)的字符串表示形式组成。此字符串用于调试,不以编程方式进行解释。

参数:
detail - 如果为 true,则除了包含其他信息外,还包含有关已解析对象的详细信息。
返回:
包含该字符串表示形式的非 null 字符串。