⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 messagequeueexception.java

📁 基于MSMQ和JNI的_Java和C#互通信实现
💻 JAVA
字号:
package ionic.Msmq;

/**
 *title: java调用MSMQ产生的消息队列异常信息类 <br />
 *copy   中智软件<br />   
 *company ZZsoft<br />
 *@version 1.2     
 *@author ionic,郭帆   
 */ 
public class MessageQueueException extends java.lang.Exception{
	/**
	 * 产生的异常类型
	 */
	public int _hresult;

	/**
	 * 构造函数1
	 * @param hresult 异常类型
	 */
	public MessageQueueException(int hresult) {
		// TODO Auto-generated constructor stub
		super();
		_hresult = hresult;
	}
	
	/**
	 * 构造函数2
	 * @param message 异常的说明信息
	 * @param hresult 异常类型
	 */
	public MessageQueueException(String message,int hresult){
		super(message);
		_hresult = hresult;
	}
	
	/**
	 * 重载ToString
	 */
	public String toString(){
		/*
		 * 关于getLocalizedMessage()的说明,是Throwable接口下的方法
		 * Creates a localized description of this throwable.
		 * Subclasses may override this method in order to produce  
		 * a locale-specific message.For subclasses that do not 
		 * override this method, the default implementation 
		 * returns the same result as getMessage().
		 */  
		String msg = getLocalizedMessage();
		String hr = "Hr=" + HrToString(_hresult);
		return msg + " (" + hr + ") ";
		
	}
	
	/**
	 * 根据异常类型返回异常的字符串信息
	 * @param hresult 异常类型
	 * @return
	 */
	private static String HrToString(int hresult){
		switch(hresult){
		case 0:
			return "Success";
		case 0xC00E0002:
			return "MQ_ERROR_PROPERTY";
		case 0xC00E0003:
			return "MQ_ERROR_QUEUE_NOT_FOUND";
		case 0xC00E0005:
			return "MQ_ERROR_QUEUE_EXISTS";
		case 0xC00E0006:
			return "MQ_ERROR_INVALID_PARAMETER";
		case 0xC00E0007:
			return "MQ_ERROR_INVALID_HANDLE";
		case 0xC00E000A:
			return "MQ_ERROR_QUEUE_DELETED";
		case 0xC00E000B:
			return "MQ_ERROR_SERVICE_NOT_AVAILABLE";
		case 0xC00E001B:
			return "MQ_ERROR_IO_TIMEOUT";
		case 0xC00E001E:
			return "MQ_ERROR_ILLEGAL_FORMATNAME";
		case 0xC00E0025:
			return "MQ_ERROR_ACCESS_DENIED";
		case 0xC00E0013:
			return "MQ_ERROR_NO_DS";
		case 0xC00E003F:
			return "MQ_ERROR_INSUFFICIENT_PROPERTIES";
		case 0xC00E0014:
			return "MQ_ERROR_ILLEGAL_QUEUE_PATHNAME";
		case 0xC00E0044:
			return "MQ_ERROR_INVALID_OWNER";
		case 0xC00E0045:
			return "MQ_ERROR_UNSUPPORTED_ACCESS_MODE";
		case 0xC00E0069:
			return "MQ_ERROR_REMOTE_MACHINE_NOT_AVAILABLE";
		default:
			return "UnknownHr( " + hresult + " )"; 
		}
	}

	/**
	 * 已屏蔽的单元测试
	 * @param args
	 */
	/*
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println((new MessageQueueException("UnkownError",18)).toString());
	}
	*/

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -