PSClientError 类
包含有关 SOAP 异常的 PSI 方法的信息。
继承层次结构
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的类构造函数。然后,可以使用GetAllErrorsPSErrorInfo数组中存储的错误信息和枚举的错误,如下面的示例中所示。
备注
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);
}
线程安全性
该类型的任何公共 静态 (已共享 在 Visual Basic 中) 成员都是线程安全的。不保证任何实例成员都是线程安全的。
另请参阅
引用
Microsoft.Office.Project.Server.Library 命名空间