Метод PSClientError.GetAllErrors
Получает массив объектов PSErrorInfo , описывающих все текущей ошибки.
Пространство имен: Microsoft.Office.Project.Server.Library
Сборка: Microsoft.Office.Project.Server.Library (в Microsoft.Office.Project.Server.Library.dll)
Синтаксис
'Декларация
Public Function GetAllErrors As PSErrorInfo()
'Применение
Dim instance As PSClientError
Dim returnValue As PSErrorInfo()
returnValue = instance.GetAllErrors()
public PSErrorInfo[] GetAllErrors()
Возвращаемое значение
Тип: []
Замечания
Чтобы получить список всех ошибок, возникающих при получении исключение при вызове метода 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);
}
См. также
Справочные материалы
Пространство имен Microsoft.Office.Project.Server.Library