del método PSClientError.GetAllErrors
Obtiene una matriz de objetos PSErrorInfo que describe todos los errores actuales.
Espacio de nombres: Microsoft.Office.Project.Server.Library
Ensamblado: Microsoft.Office.Project.Server.Library (en Microsoft.Office.Project.Server.Library.dll)
Sintaxis
'Declaración
Public Function GetAllErrors As PSErrorInfo()
'Uso
Dim instance As PSClientError
Dim returnValue As PSErrorInfo()
returnValue = instance.GetAllErrors()
public PSErrorInfo[] GetAllErrors()
Valor devuelto
Tipo: []
Comentarios
Para obtener una lista de todos los errores que se producen si se genera una excepción cuando se llama a un método PSI, pase el objeto de SoapException para el constructor de la clase Microsoft.Office.Project.Server.Library.PSClientError . Luego puede utilizar GetAllErrors para almacenar la información de error en una matriz de PSErrorInfo y enumerar los errores, como en el ejemplo siguiente.
Nota
El objeto PSErrorInfo no puede incluir toda la información que necesita. Por ejemplo, si utiliza Resource.CheckOutResources en uno de los recursos ya está desprotegido, PSErrorInfo muestra el motivo del error para cada recurso que no se puede desproteger, pero no incluye el nombre del recurso o el GUID. Para que una forma obtener más información, consulte CheckOutResources.
Ejemplos
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);
}
Vea también
Referencia
Espacio de nombres Microsoft.Office.Project.Server.Library
Otros recursos
Cómo: iniciar sesión en Project Server mediante programación