Compartir a través de


Procedimiento para usar el ámbito de manipulación de excepciones

Última modificación: martes, 09 de febrero de 2010

Hace referencia a: SharePoint Foundation 2010

Disponible en SharePoint Online

En el siguiente ejemplo se muestra cómo implementar el ámbito de manipulación de excepciones por medio de la clase ExceptionHandlingScope (JavaScript: ExceptionHandlingScope) y sus métodos StartTry(), StartCatch() y StartFinally() (en JavaScript, startTry(), startCatch() y startFinally()).

El ejemplo trata de devolver una lista con un título especificado y, si la lista existe, modifica su descripción y, posteriormente, habilita la creación de carpetas. Si la lista no existe, el ejemplo crea la lista y, posteriormente, habilita la creación de carpetas.

using System;
using Microsoft.SharePoint.Client;
namespace Microsoft.SDK.SharePointServices.Samples
{
    class ExampleExceptionHandlingScope
    {        
        // Update the description of specified list and also 
        // enable folder creation.  There's a possibility that the specified 
        // list does not exist.
        static void Main()
        {
            ClientContext clientContext = new ClientContext("http://MyServer/sites/MySiteCollection");            

            ExceptionHandlingScope scope = new ExceptionHandlingScope(clientContext);            

            using (scope.StartScope())
            {
                using (scope.StartTry())
                {
                    List oList = clientContext.Web.Lists.GetByTitle("My List");
                    oList.Description = "In Try Block";
                    oList.Update();
                }

                using (scope.StartCatch())
                {                    
                    // Assume that if there's an exception, it can only be 
                    // because there is no list with the specified title, so
                    // create the list.
                    ListCreationInformation listCreateInfo = new ListCreationInformation();
                    listCreateInfo.Title = "My List";
                    listCreateInfo.Description = "In Catch Block";
                    listCreateInfo.TemplateType = (int)ListTemplateType.Announcements;
                    List oList = clientContext.Web.Lists.Add(listCreateInfo);                    
                }

                using (scope.StartFinally())
                {                    
                    List oList = clientContext.Web.Lists.GetByTitle("My List");
                    oList.EnableFolderCreation = true;
                    oList.Update();                     
                }
            }

            clientContext.ExecuteQuery();            
        }
    }
}
Imports System
Imports Microsoft.SharePoint.Client

Namespace Microsoft.SDK.SharePointServices.Samples

    Class ExampleExceptionHandlingScope

       ' Update the description of specified list and also 
       ' enable folder creation.  There's a possibility that the specified 
       ' list does not exist.
        Shared Sub Main()

            Dim clientContext As New ClientContext("http://MyServer/sites/MySiteCollection")

            Dim scope As New ExceptionHandlingScope(clientContext)

            Using scope.StartScope()

                Using scope.StartTry()

                    Dim oList As List = clientContext.Web.Lists.GetByTitle("My List")
                    oList.Description = "In Try Block"
                    oList.Update()

                End Using

                Using scope.StartCatch()

                   ' Assume that if there's an exception, it can only be 
                   ' because there is no list with the specified title, so
                   ' create the list.
                    Dim listCreateInfo As New ListCreationInformation()
                    listCreateInfo.Title = "My List"
                    listCreateInfo.Description = "In Catch Block"
                    listCreateInfo.TemplateType = CInt(ListTemplateType.Announcements)
                    Dim oList As List = clientContext.Web.Lists.Add(listCreateInfo)

                End Using

                Using scope.StartFinally()

                    Dim oList As List = clientContext.Web.Lists.GetByTitle("My List")
                    oList.EnableFolderCreation = True
                    oList.Update()

                End Using
            End Using

            clientContext.ExecuteQuery()

        End Sub
    End Class
End Namespace

Vea también

Conceptos

Procedimiento para usar el ámbito condicional

Tareas comunes de programación

Otros recursos

Biblioteca de clases de cliente

Biblioteca de clases de ECMAScript