ImException.java
上传用户:szyujian
上传日期:2016-09-20
资源大小:320k
文件大小:2k
源码类别:

android开发

开发平台:

C/C++

  1. /*
  2.  * Copyright (C) 2007 Esmertec AG.
  3.  * Copyright (C) 2007 The Android Open Source Project
  4.  *
  5.  * Licensed under the Apache License, Version 2.0 (the "License");
  6.  * you may not use this file except in compliance with the License.
  7.  * You may obtain a copy of the License at
  8.  *
  9.  *      http://www.apache.org/licenses/LICENSE-2.0
  10.  *
  11.  * Unless required by applicable law or agreed to in writing, software
  12.  * distributed under the License is distributed on an "AS IS" BASIS,
  13.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14.  * See the License for the specific language governing permissions and
  15.  * limitations under the License.
  16.  */
  17. package com.android.im.engine;
  18. /**
  19.  * A generic exception that is thrown by the IM engine. If it's caused by an
  20.  * error condition returned by the IM server, an IMError is associated with
  21.  * it.
  22.  */
  23. public class ImException extends Exception {
  24.     private ImErrorInfo mError;
  25.     /**
  26.      * Creates a new ImException with the specified detail message.
  27.      *
  28.      * @param message the detail message.
  29.      */
  30.     public ImException(String message) {
  31.         super(message);
  32.     }
  33.     /**
  34.      * Creates a new ImException with the IMError which was the cause of the
  35.      * exception.
  36.      *
  37.      * @param error the cause of the exception.
  38.      */
  39.     public ImException(ImErrorInfo error) {
  40.         super(error.getDescription());
  41.         mError = error;
  42.     }
  43.     /**
  44.      * Creates a new ImException with the specified cause.
  45.      *
  46.      * @param cause the cause.
  47.      */
  48.     public ImException(Throwable cause) {
  49.         super(cause);
  50.     }
  51.     /**
  52.      * Creates a new ImException with the specified detail message and cause.
  53.      *
  54.      * @param message the detail message.
  55.      * @param cause the cause.
  56.      */
  57.     public ImException(String message, Throwable cause) {
  58.         super(message, cause);
  59.     }
  60.     /**
  61.      * Creates a new ImException with specified IM error code and description
  62.      *
  63.      * @param imErrorCode
  64.      * @param string
  65.      */
  66.     public ImException(int imErrorCode, String description) {
  67.         this(new ImErrorInfo(imErrorCode, description));
  68.     }
  69.     /**
  70.      * Gets the IMError which caused the exception or <code>null</code> if
  71.      * there isn't one.
  72.      *
  73.      * @return the IMError which caused the exception.
  74.      */
  75.     public ImErrorInfo getImError() {
  76.         return mError;
  77.     }
  78.     public void printStackTrace() {
  79.         System.err.println("ImError: " + mError);
  80.         super.printStackTrace();
  81.     }
  82. }