MessageQueueException Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Výjimka, která je vyvolán, pokud dojde k vnitřní chybě služby Řízení front zpráv.
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
- Dědičnost
- Atributy
- Implementuje
Příklady
#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
Poznámky
Výjimky spojené s MessageQueueException třídou jsou generovány vnitřními chybami v rámci služby Řízení front zpráv, které by měly být řešeny prostřednictvím kódu.
Každá výjimka se skládá z kódu chyby a textového řetězce, který popisuje zdroj chyby. Seznam těchto kódů chyb a jejich popisy najdete ve MessageQueueErrorCode třídě .
MessageQueue Pokud otevře frontu s parametrem nastaveným sharedModeDenyReceive
na hodnotu true, všechnyMessageQueue, které se následně pokusí číst z fronty, vygenerují MessageQueueException výjimku z důvodu narušení sdílení. Stejná výjimka je vyvolána, pokud MessageQueue se pokusí o přístup k frontě ve výhradním režimu, zatímco jiný již MessageQueue má nevýhradní přístup k frontě.
Značka upozornění není podporovaná!!!
MessageQueueTransaction je pracující s vlákny. Visual Basic nastaví stav hlavního vlákna naSTA
, takže musíte použít MTAThreadAttribute v podprogramuMain
. V opačném případě odeslání transakční zprávy pomocí jiného vlákna vyvolá MessageQueueException výjimku.
Konstruktory
MessageQueueException(SerializationInfo, StreamingContext) |
Inicializuje novou instanci třídy MessageQueueException se serializovanými daty. |
Vlastnosti
Data |
Získá kolekci párů klíč/hodnota, které poskytují další uživatelem definované informace o výjimce. (Zděděno od Exception) |
ErrorCode |
|
HelpLink |
Získá nebo nastaví odkaz na soubor nápovědy přidružený k této výjimce. (Zděděno od Exception) |
HResult |
Získá nebo nastaví HRESULT, kódovaná číselná hodnota, která je přiřazena ke konkrétní výjimce. (Zděděno od Exception) |
InnerException |
Exception Získá instanci, která způsobila aktuální výjimku. (Zděděno od Exception) |
Message |
Získá hodnotu, která popisuje chybu služby Řízení front zpráv. |
MessageQueueErrorCode |
Získá hodnotu, která označuje kód chyby přidružené k této výjimce. |
Source |
Získá nebo nastaví název aplikace nebo objektu, který způsobuje chybu. (Zděděno od Exception) |
StackTrace |
Získá řetězcovou reprezentaci okamžitých rámců v zásobníku volání. (Zděděno od Exception) |
TargetSite |
Získá metodu, která vyvolá aktuální výjimku. (Zděděno od Exception) |
Metody
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetBaseException() |
Při přepsání v odvozené třídě vrátí hodnotu Exception , která je původní příčinou jedné nebo více následných výjimek. (Zděděno od Exception) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetObjectData(SerializationInfo, StreamingContext) |
Naplní objekt serializace informací dat potřebnými k serializaci objektu MessageQueueException. |
GetType() |
Získá typ modulu runtime aktuální instance. (Zděděno od Exception) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ToString() |
Vrátí řetězec, který obsahuje hodnotu HRESULT chyby. (Zděděno od ExternalException) |
Událost
SerializeObjectState |
Zastaralé.
Nastane, když je výjimka serializována k vytvoření objektu stavu výjimky, který obsahuje serializovaná data o výjimce. (Zděděno od Exception) |