Использование области обработки исключений
Дата последнего изменения: 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
См. также
Концепции
Использование условной области