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 společnosti 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
- 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 přidružené ke MessageQueueException třídě 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 vašeho kódu.
Každá výjimka se skládá z kódu chyby a textového řetězce, který popisuje zdroj chyby. MessageQueueErrorCode Seznam těchto kódů chyb a jejich popis najdete ve třídě.
MessageQueue Pokud se otevře fronta s parametrem sharedModeDenyReceive nastaveným na true, všechnyMessageQueue, které se následně pokusí číst z fronty, vygeneruje MessageQueueException výjimku z důvodu porušení sdílení. Stejná výjimka se vyvolá, pokud MessageQueue se pokusí o přístup k frontě ve výhradním režimu, zatímco jiný MessageQueue již nemá výhradní přístup k frontě.
Značka upozornění není podporována!!!MessageQueueTransaction je nitě-byt-vědomí. Visual Basic nastaví stav hlavního vlákna na
STA, 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
| Name | Description |
|---|---|
| MessageQueueException(SerializationInfo, StreamingContext) |
Inicializuje novou instanci MessageQueueException třídy serializovanými daty. |
Vlastnosti
| Name | Description |
|---|---|
| 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ódovanou číselnou hodnotu, 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 popisující 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ězcové znázornění 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
| Name | Description |
|---|---|
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetBaseException() |
Při přepsání v odvozené třídě vrátí Exception to, že je původní příčinou jedné nebo více následných výjimek. (Zděděno od Exception) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Naplní objekt informací o serializaci 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 Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který obsahuje HRESULT chyby. (Zděděno od ExternalException) |
Událost
| Name | Description |
|---|---|
| SerializeObjectState |
Zastaralé.
Nastane, když je výjimka serializována vytvořit objekt stavu výjimky, který obsahuje serializovaná data o výjimce. (Zděděno od Exception) |