Freigeben über


PSClientError-Klasse

Enthält Informationen zu einer SOAP-Ausnahme für eine PSI-Methode.

Vererbungshierarchie

System.Object
  Microsoft.Office.Project.Server.Library.PSClientError

Namespace:  Microsoft.Office.Project.Server.Library
Assembly:  Microsoft.Office.Project.Server.Library (in Microsoft.Office.Project.Server.Library.dll)

Syntax

'Declaration
<SerializableAttribute> _
Public Class PSClientError _
    Implements ISerializable
'Usage
Dim instance As PSClientError
[SerializableAttribute]
public class PSClientError : ISerializable

Hinweise

Wenn Sie eine Liste aller Fehler erhalten möchten, die auftreten, wenn eine Ausnahme ausgelöst, wenn Sie eine PSI-Methode aufrufen, übergeben Sie das SoapException -Objekt an den Klassenkonstruktor Microsoft.Office.Project.Server.Library.PSClientError . Sie können dann GetAllErrors verwenden, die Fehlerinformationen in einem Array PSErrorInfo gespeichert und Auflisten der Fehler, wie im folgenden Beispiel.

Hinweis

Das Objekt PSErrorInfo möglicherweise nicht alle Informationen enthalten, die Sie benötigen. Wenn Sie Resource.CheckOutResources verwenden, sind einige der Ressourcen bereits ausgecheckt, wird beispielsweise PSErrorInfo für jede Ressource, die nicht ausgecheckt werden, jedoch nicht der Ressourcenname oder die GUID das Fehlerursache. Eine Möglichkeit, Weitere Informationen erhalten möchten finden Sie unter CheckOutResources.

Beispiele

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);
}

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Die Threadsicherheit von Instanzmembern ist nicht gewährleistet.

Siehe auch

Referenz

PSClientError-Member

Microsoft.Office.Project.Server.Library-Namespace

CheckOutResources

Weitere Ressourcen

Vorgehensweise: Melden Sie sich bei Project Server programmgesteuert

Project Server 2013-Fehlercodes