Поделиться через


Использование области обработки исключений

Дата последнего изменения: 9 февраля 2010 г.

Применимо к: SharePoint Foundation 2010

Доступно на сайте SharePoint Online

В следующем примере показано, как реализовать область обработки исключений с помощью класса ExceptionHandlingScope (JavaScript: ExceptionHandlingScope) и его методов StartTry(), StartCatch() и StartFinally() (in JavaScript, startTry(), startCatch() и startFinally()).

Код пытается вернуть список с указанным заголовком и, если список существует, изменяет его описание, а затем разрешает создание папки. Если список не существует, код создает список и затем разрешает создание папки.

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

См. также

Концепции

Использование условной области

Общие задачи программирования

Другие ресурсы

Библиотека классов для клиента

Библиотека классов ECMAScript