PSClientError クラス
PSI メソッドの SOAP 例外に関する情報が含まれています。
継承階層
System.Object
Microsoft.Office.Project.Server.Library.PSClientError
名前空間: Microsoft.Office.Project.Server.Library
アセンブリ: Microsoft.Office.Project.Server.Library (Microsoft.Office.Project.Server.Library.dll 内)
構文
'宣言
<SerializableAttribute> _
Public Class PSClientError _
Implements ISerializable
'使用
Dim instance As PSClientError
[SerializableAttribute]
public class PSClientError : ISerializable
注釈
PSI メソッドを呼び出したときに例外が発生する場合、発生するすべてのエラーのリストを取得するには、SoapException オブジェクトを Microsoft.Office.Project.Server.Library.PSClientError クラス コンストラクタに渡します。続いて、次の例のように、GetAllErrors を使用すると PSErrorInfo 配列にエラー情報を格納し、エラーを列挙することができます。
注意
PSErrorInfoオブジェクトは、すべての情報が必要ない場合があります。たとえばを使用する場合Resource.CheckOutResourcesで一部のリソースは、既にチェック アウトされてPSErrorInfoをチェック アウトすることはできませんが、リソースの名前または GUID が含まれていないリソースごとに、失敗の理由を示します。多くの情報を取得する方法、 CheckOutResourcesを参照してください。
例
using System;
using System.Collections.Generic;
using System.Text;
using System.Web.Services.Protocols;
using System.Windows.Forms;
using PSLibrary = Microsoft.Office.Project.Server.Library;
. . .
try
{
/* call a PSI method */
}
catch (SoapException ex)
{
string errAttributeName;
string errAttribute;
string errMess = "".PadRight(30, '=') + "\r\n" + "Error: " + "\r\n";
PSLibrary.PSClientError error = new PSLibrary.PSClientError(ex);
PSLibrary.PSErrorInfo[] errors = error.GetAllErrors();
PSLibrary.PSErrorInfo thisError;
for (int i = 0; i < errors.Length; i++)
{
thisError = errors[i];
errMess += "\n" + ex.Message.ToString() + "\r\n";
errMess += "".PadRight(30, '=') + "\r\nPSCLientError Output:\r\n \r\n";
errMess += thisError.ErrId.ToString() + "\n";
for (int j = 0; j < thisError.ErrorAttributes.Length; j++)
{
errAttributeName = thisError.ErrorAttributeNames()[j];
errAttribute = thisError.ErrorAttributes[j];
errMess += "\r\n\t" + errAttributeName +
": " + errAttribute;
}
errMess += "\r\n".PadRight(30, '=');
}
MessageBox.Show(errMess, "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error);
}
スレッド セーフ
この型のパブリック static (Visual Basic のShared ) メンバーはいずれもスレッド セーフです。インスタンス メンバーはスレッド セーフになるという保証はありません。
関連項目
参照先
Microsoft.Office.Project.Server.Library 名前空間