JavaTM 2 Platform
Standard Ed. 6

javax.naming
類別 NamingException

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 字元串。

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only