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


MessageQueueException Класс

Определение

Исключение, которое возникает, если возникает внутренняя ошибка очереди сообщений Майкрософт.

public ref class MessageQueueException : System::Runtime::InteropServices::ExternalException
[System.Serializable]
public class MessageQueueException : System.Runtime.InteropServices.ExternalException
[<System.Serializable>]
type MessageQueueException = class
    inherit ExternalException
    interface ISerializable
Public Class MessageQueueException
Inherits ExternalException
Наследование
Атрибуты
Реализации

Примеры

#using <system.dll>
#using <system.messaging.dll>

using namespace System;
using namespace System::Messaging;
int main()
{
   
   // Determine whether the queue exists.
   if ( MessageQueue::Exists( ".\\myQueue" ) )
   {
      try
      {
         
         // Delete the queue.
         MessageQueue::Delete( ".\\myQueue" );
      }
      catch ( MessageQueueException^ e ) 
      {
         if ( e->MessageQueueErrorCode == MessageQueueErrorCode::AccessDenied )
         {
            Console::WriteLine( "Access is denied. Queue might be a system queue." );
         }
         
         // Handle other sources of MessageQueueException.
      }

   }

   return 0;
}
using System;
using System.Messaging;

namespace MyProject
{
    /// <summary>
    /// Provides a container class for the example.
    /// </summary>
    public class MyNewQueue
    {

        //**************************************************
        // Provides an entry point into the application.
        //		
        // This example verifies existence and attempts to
        // delete a queue.
        //**************************************************

        public static void Main()
        {

            // Determine whether the queue exists.
            if (MessageQueue.Exists(".\\myQueue"))
            {
                try
                {
                    // Delete the queue.
                    MessageQueue.Delete(".\\myQueue");
                }
                catch(MessageQueueException e)
                {
                    if(e.MessageQueueErrorCode ==
                        MessageQueueErrorCode.AccessDenied)
                    {
                        Console.WriteLine("Access is denied. " +
                            "Queue might be a system queue.");
                    }

                    // Handle other sources of MessageQueueException.
                }
            }
        
            return;
        }
    }
}
Imports System.Messaging



Public Class MyNewQueue


        
        ' Provides an entry point into the application.
        '		 
        ' This example verifies existence and attempts to 
        ' delete a queue.
        

        Public Shared Sub Main()

            ' Determine whether the queue exists.
            If MessageQueue.Exists(".\myQueue") Then

                Try

                    ' Delete the queue.
                    MessageQueue.Delete(".\myQueue")

                Catch e As MessageQueueException

                    If e.MessageQueueErrorCode = _
                        MessageQueueErrorCode.AccessDenied Then

                        Console.WriteLine("Access is denied. " _
                            + "Queue might be a system queue.")
                    End If

                    ' Handle other sources of exceptions as necessary.

                End Try

            End If


            Return

        End Sub

End Class

Комментарии

Исключения, связанные с MessageQueueException классом, создаются внутренними ошибками в очереди сообщений, которые должны быть рассмотрены с помощью кода.

Каждое исключение состоит из кода ошибки и текстовой строки, описывающей источник ошибки. См. MessageQueueErrorCode класс для списка этих кодов ошибок и их описания.

MessageQueue Если откроется очередь с sharedModeDenyReceive заданным параметром значение true, любаяMessageQueue, которая впоследствии пытается прочитать из очереди, создает MessageQueueException исключение из-за нарушения общего доступа. Такое же исключение возникает, если MessageQueue попытка получить доступ к очереди в монопольном режиме, а другой MessageQueue уже имеет неисключительный доступ к очереди.

Тег оповещения не поддерживается!!!MessageQueueTransaction имеет поточное представление с поддержкой квартиры. Visual Basic задает состояние основного потока STA, поэтому необходимо применить MTAThreadAttribute в подпрограмме Main . В противном случае отправка транзакционного сообщения с помощью другого потока вызывает MessageQueueException исключение.

Конструкторы

Имя Описание
MessageQueueException(SerializationInfo, StreamingContext)

Инициализирует новый экземпляр MessageQueueException класса сериализованными данными.

Свойства

Имя Описание
Data

Возвращает коллекцию пар "ключ-значение", которые предоставляют дополнительные пользовательские сведения об исключении.

(Унаследовано от Exception)
ErrorCode

Возвращает ошибку HRESULT .

(Унаследовано от ExternalException)
HelpLink

Возвращает или задает ссылку на файл справки, связанный с этим исключением.

(Унаследовано от Exception)
HResult

Возвращает или задает HRESULT, закодированное числовое значение, назначенное определенному исключению.

(Унаследовано от Exception)
InnerException

Exception Возвращает экземпляр, вызвавшего текущее исключение.

(Унаследовано от Exception)
Message

Возвращает значение, описывающее ошибку очереди сообщений.

MessageQueueErrorCode

Возвращает значение, указывающее код ошибки, связанный с этим исключением.

Source

Возвращает или задает имя приложения или объекта, вызывающего ошибку.

(Унаследовано от Exception)
StackTrace

Возвращает строковое представление непосредственных кадров в стеке вызовов.

(Унаследовано от Exception)
TargetSite

Возвращает метод, который вызывает текущее исключение.

(Унаследовано от Exception)

Методы

Имя Описание
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetBaseException()

При переопределении в производном классе возвращает Exception первопричину одного или нескольких последующих исключений.

(Унаследовано от Exception)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetObjectData(SerializationInfo, StreamingContext)

Заполняет объект сведений сериализации данными, необходимыми для сериализации MessageQueueException.

GetType()

Возвращает тип среды выполнения текущего экземпляра.

(Унаследовано от Exception)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

Возвращает строку, содержащую HRESULT ошибки.

(Унаследовано от ExternalException)

События

Имя Описание
SerializeObjectState
Устаревшие..

Происходит при сериализации исключения для создания объекта состояния исключения, содержащего сериализованные данные об исключении.

(Унаследовано от Exception)

Применяется к

См. также раздел