Compartir a través de


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

clase PSClientError

Miembros PSClientError

Espacio de nombres Microsoft.Office.Project.Server.Library

CheckOutResources

Otros recursos

Cómo: iniciar sesión en Project Server mediante programación

Códigos de error de Project Server 2013