Как мне обрабатывать исключения SharePoint? - PullRequest
2 голосов
/ 27 апреля 2009

Я новичок в SharePoint, поэтому думаю, как мне нужно обрабатывать исключения? Когда я пишу собственный код, я должен проверять их или, может быть, если они выброшены, они автоматически регистрируются и не ломают приложение?

Если нет, то как мне их регистрировать?

Спасибо!

Редактировать: И как мне регистрировать эти исключения?

Ответы [ 6 ]

2 голосов
/ 27 апреля 2009

Используйте это, чтобы записать в журнал: http://msdn.microsoft.com/en-us/library/aa979522.aspx

Если вы не обработаете свои исключения, приложение, скорее всего, сломается. Некоторые ошибки, например, сгенерированные в приемниках событий, не будут «ломать» приложение (за исключением завершения приемника событий). Эти ошибки, наряду со всеми остальными неотслеживаемыми ошибками, будут отображаться в журнале, если вы не изменили настройки в центре администрирования.

1 голос
/ 05 июля 2013

Официальное руководство: -

MSDN - Управление исключениями в SharePoint

1 голос
/ 26 мая 2009

Я собираюсь предположить, что вы используете объектную модель SharePoint, а не ее веб-службы, поскольку вы не указали, какой, а объектная модель обычно используется, поскольку она предоставляет больше функциональных возможностей.

SharePoint использует свой собственный класс SPException для создания исключений, а также несколько стандартных классов исключений .NET. К сожалению, в документации SDK не указано, какие методы генерируют исключения и когда это может произойти. Ваш собственный опыт и Reflector лучше всего подходят для изучения этого.

При первом обучении вы, вероятно, будете вызывать исключения довольно часто, и может быть весьма непредсказуемо знать, когда и почему это происходит. Те, которые выбрасываются SPException, обычно содержат полезные сообщения, однако стандартные исключения .NET, которые также выдает SharePoint (например, ArgumentOutOfRangeException), дают очень мало деталей. Поэтому, чтобы помочь в отладке, как правило, рекомендуется держать ваши методы короткими и точными, чтобы было легко найти причину возникновения исключения. Вам нужно только проверить их, если есть веская причина, чтобы позволить им всплыть, если вы не можете перебрасывать и добавлять больше деталей (, предложенный Питером ), - это хороший подход для обеспечения правильности и поддержания вашего кода чистым. .

SharePoint обычно не регистрирует автоматически исключения. Иногда вы можете найти их в файлах ULS (a.k.a. Trace Log) , но, как правило, при регистрации они не дают больше информации, чем исключения, которые вы можете поймать самостоятельно. Есть много вариантов настройки собственной регистрации, как уже упоминалось здесь. Вы также можете найти отличный список на SharePoint Dev Wiki .

1 голос
/ 28 апреля 2009

Посмотрите в этой статье «Упрощение отладки SharePoint путем создания набора инструментов для устранения неполадок». http://sharepointmagazine.net/technical/development/getting-started-with-sharepoint-programming-simplifying-sharepoint-debugging-by-creating-the-troubleshooting-toolbox. В нем есть несколько полезных советов по ведению журнала, отладке и т. Д. При разработке приложения для SharePoint.

1 голос
/ 27 апреля 2009

Мы разрешаем всплывать все наши исключения и используем специальный модуль HTTP для обработки всех исключений. Отсюда мы регистрируем логи ULS, а также логи трассировки. В основном это взято из кода MVP SharePoint Криса О'Брайена

Мы ловим исключения только в том случае, если считаем, что можем добавить дополнительное значение к исключению, а затем повторно выдать ошибку, позволяя модулю http ее подхватить.

1 голос
/ 27 апреля 2009

Общее правило с исключениями состоит в том, что вы должны ловить только те исключения, которые вы знаете, как правильно обрабатывать себя - я не знаю, регистрирует ли sharepoint сам необработанные исключения, но я думаю, что он преобразует необработанные исключения в соответствующее исключение SOAP в различных веб-сервисов, поэтому стоит поспорить, что вы не сломаете все приложение.

...