MessageQueueException クラス

定義

Microsoft Message Queuing の内部エラーが発生した場合にスローされる例外。The exception that is thrown if a Microsoft Message Queuing internal error occurs.

public ref class MessageQueueException : System::Runtime::InteropServices::ExternalException
[System.Serializable]
public class MessageQueueException : System.Runtime.InteropServices.ExternalException
type MessageQueueException = class
    inherit ExternalException
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 クラスに関連付けられた例外は、コードを使用して処理する必要があるメッセージキュー内の内部エラーによって生成されます。Exceptions associated with the MessageQueueException class are generated by internal errors within Message Queuing that should be dealt with through your code.

すべての例外は、エラーコードとエラーの原因を説明するテキスト文字列で構成されます。Every exception consists of an error code and a text string that describes the source of the error. これらのエラーコードとその説明の一覧については、MessageQueueErrorCode クラスを参照してください。See the MessageQueueErrorCode class for a list of these error codes and their descriptions.

MessageQueue パラメーターが true に設定されたキューを sharedModeDenyReceive が開いた後に、別の MessageQueue がキューを読み取ろうとすると、共有違反により MessageQueueException 例外が生成されます。If a MessageQueue opens a queue with the sharedModeDenyReceive parameter set to true, any MessageQueue that subsequently tries to read from the queue generates a MessageQueueException exception because of a sharing violation. MessageQueue が既にキューに非排他的にアクセスできるときに、別の MessageQueue が排他モードでキューにアクセスしようとした場合にも、同じ例外がスローされます。The same exception is thrown if a MessageQueue tries to access the queue in exclusive mode while another MessageQueue already has nonexclusive access to the queue.

アラートタグはサポートされていません!!!!alert tag is not supported!!!!
MessageQueueTransaction は、アパートメントに対応しています。MessageQueueTransaction is threading-apartment-aware. Visual Basic は、メインスレッドの状態を STAに設定するため、MTAThreadAttributeMain サブルーチンに適用する必要があります。Visual Basic sets the state of the main thread to STA, so you must apply the MTAThreadAttribute in the Main subroutine. 適用しない場合、別のスレッドを使用してトランザクション メッセージを送信すると、MessageQueueException 例外がスローされます。Otherwise, sending a transactional message using another thread throws a MessageQueueException exception.

コンストラクター

MessageQueueException(SerializationInfo, StreamingContext)

シリアル化されたデータを使用して MessageQueueException クラスの新しいインスタンスを初期化します。Initializes a new instance of the MessageQueueException class with serialized data.

プロパティ

Data

例外に関する追加のユーザー定義情報を提供する、キーと値のペアのコレクションを取得します。Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(継承元 Exception)
ErrorCode

エラーの HRESULT を取得します。Gets the HRESULT of the error.

(継承元 ExternalException)
HelpLink

この例外に関連付けられているヘルプ ファイルへのリンクを取得または設定します。Gets or sets a link to the help file associated with this exception.

(継承元 Exception)
HResult

特定の例外に割り当てられているコード化数値である HRESULT を取得または設定します。Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(継承元 Exception)
InnerException

現在の例外の原因となる Exception インスタンスを取得します。Gets the Exception instance that caused the current exception.

(継承元 Exception)
Message

メッセージ キュー エラーを説明する値を取得します。Gets a value that describes the Message Queuing error.

MessageQueueErrorCode

この例外に関連付けられているエラー コードを示す値を取得します。Gets a value that indicates the error code associated with this exception.

Source

エラーの原因となるアプリケーションまたはオブジェクトの名前を取得または設定します。Gets or sets the name of the application or the object that causes the error.

(継承元 Exception)
StackTrace

呼び出し履歴で直前のフレームの文字列形式を取得します。Gets a string representation of the immediate frames on the call stack.

(継承元 Exception)
TargetSite

現在の例外がスローされたメソッドを取得します。Gets the method that throws the current exception.

(継承元 Exception)

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判定します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetBaseException()

派生クラスでオーバーライドされた場合、それ以後に発生する 1 つ以上の例外の根本原因である Exception を返します。When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(継承元 Exception)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetObjectData(SerializationInfo, StreamingContext)

シリアル化情報オブジェクトを、MessageQueueException のシリアル化に必要なデータで事前設定します。Populates a serialization information object with the data needed to serialize the MessageQueueException.

GetType()

現在のインスタンスのランタイム型を取得します。Gets the runtime type of the current instance.

(継承元 Exception)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
ToString()

エラーの HRESULT が格納された文字列を返します。Returns a string that contains the HRESULT of the error.

(継承元 ExternalException)

イベント

SerializeObjectState

例外がシリアル化され、例外に関するシリアル化されたデータを含む例外状態オブジェクトが作成されたときに発生します。Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(継承元 Exception)

適用対象

こちらもご覧ください