Compartilhar via


MessageQueueException Classe

Definição

A exceção que é lançada se ocorrer um erro interno do Enfileiramento de Mensagens da Microsoft.

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
Herança
Atributos
Implementações

Exemplos

#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

Comentários

Exceções associadas à MessageQueueException classe são geradas por erros internos no Enfileiramento de Mensagens que devem ser tratados por meio do código.

Cada exceção consiste em um código de erro e uma cadeia de caracteres de texto que descreve a origem do erro. Consulte a MessageQueueErrorCode classe para obter uma lista desses códigos de erro e suas descrições.

Se MessageQueue abrir uma fila com o parâmetro sharedModeDenyReceive definido como verdadeiro, qualquer MessageQueue que tentar ler a fila depois disso gerará uma exceção MessageQueueException devido a uma violação de compartilhamento. A mesma exceção será lançada se uma MessageQueue tenta acessar a fila em modo exclusivo quando outra MessageQueue já tiver acesso não exclusivo à fila.

Não há suporte para a marca de alerta!!!
MessageQueueTransaction é threading-apartment-aware. O Visual Basic define o estado do thread main como STA, portanto, você deve aplicar o MTAThreadAttribute na Main sub-rotina. Caso contrário, o envio de uma mensagem transacional usando outro thread gerará uma exceção MessageQueueException.

Construtores

MessageQueueException(SerializationInfo, StreamingContext)

Inicializa uma nova instância da classe MessageQueueException com dados serializados.

Propriedades

Data

Obtém uma coleção de pares de chave/valor que fornecem informações definidas pelo usuário adicionais sobre a exceção.

(Herdado de Exception)
ErrorCode

Obtém o HRESULT do erro.

(Herdado de ExternalException)
HelpLink

Obtém ou define um link para o arquivo de ajuda associado a essa exceção.

(Herdado de Exception)
HResult

Obtém ou define HRESULT, um valor numérico codificado que é atribuído a uma exceção específica.

(Herdado de Exception)
InnerException

Obtém a instância Exception que causou a exceção atual.

(Herdado de Exception)
Message

Obtém um valor que descreve o erro do Enfileiramento de Mensagens.

MessageQueueErrorCode

Obtém um valor que indica o código de erro associado a essa exceção.

Source

Obtém ou define o nome do aplicativo ou objeto que causa o erro.

(Herdado de Exception)
StackTrace

Obtém uma representação de cadeia de caracteres de quadros imediatos na pilha de chamadas.

(Herdado de Exception)
TargetSite

Obtém o método que gerou a exceção atual.

(Herdado de Exception)

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetBaseException()

Quando substituído em uma classe derivada, retorna a Exception que é a causa raiz de uma ou mais exceções subsequentes.

(Herdado de Exception)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetObjectData(SerializationInfo, StreamingContext)

Popula um objeto de informações de serialização com os dados necessários para serializar o MessageQueueException.

GetType()

Obtém o tipo de runtime da instância atual.

(Herdado de Exception)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que contém o HRESULT do erro.

(Herdado de ExternalException)

Eventos

SerializeObjectState
Obsoleto.

Ocorre quando uma exceção é serializada para criar um objeto de estado de exceção que contém dados serializados sobre a exceção.

(Herdado de Exception)

Aplica-se a

Confira também