1ef36ef67e009449300b0150c60c9f637e205d79eWink Saville/* 2ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * Copyright (c) 2013 The Android Open Source Project 3ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * 4ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * Licensed under the Apache License, Version 2.0 (the "License"); 5ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * you may not use this file except in compliance with the License. 6ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * You may obtain a copy of the License at 7ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * 8ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * http://www.apache.org/licenses/LICENSE-2.0 9ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * 10ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * Unless required by applicable law or agreed to in writing, software 11ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * distributed under the License is distributed on an "AS IS" BASIS, 12ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * See the License for the specific language governing permissions and 14ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * limitations under the License. 15ef36ef67e009449300b0150c60c9f637e205d79eWink Saville */ 16ef36ef67e009449300b0150c60c9f637e205d79eWink Saville 17ef36ef67e009449300b0150c60c9f637e205d79eWink Savillepackage com.android.ims; 18ef36ef67e009449300b0150c60c9f637e205d79eWink Saville 19ef36ef67e009449300b0150c60c9f637e205d79eWink Saville/** 20ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * This class defines a general IMS-related exception. 21ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * 22ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * @hide 23ef36ef67e009449300b0150c60c9f637e205d79eWink Saville */ 24ef36ef67e009449300b0150c60c9f637e205d79eWink Savillepublic class ImsException extends Exception { 25ef36ef67e009449300b0150c60c9f637e205d79eWink Saville 26ef36ef67e009449300b0150c60c9f637e205d79eWink Saville /** 27ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * Refer to CODE_LOCAL_* in {@link ImsReasonInfo} 28ef36ef67e009449300b0150c60c9f637e205d79eWink Saville */ 29ef36ef67e009449300b0150c60c9f637e205d79eWink Saville private int mCode; 30ef36ef67e009449300b0150c60c9f637e205d79eWink Saville 31ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public ImsException() { 32ef36ef67e009449300b0150c60c9f637e205d79eWink Saville } 33ef36ef67e009449300b0150c60c9f637e205d79eWink Saville 34ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public ImsException(String message, int code) { 355b4aa98b59f51ce8eea2c4e39a2bd1c188ac3e26Etan Cohen super(message + ", code = " + code); 36ef36ef67e009449300b0150c60c9f637e205d79eWink Saville mCode = code; 37ef36ef67e009449300b0150c60c9f637e205d79eWink Saville } 38ef36ef67e009449300b0150c60c9f637e205d79eWink Saville 39ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public ImsException(String message, Throwable cause, int code) { 40ef36ef67e009449300b0150c60c9f637e205d79eWink Saville super(message, cause); 41ef36ef67e009449300b0150c60c9f637e205d79eWink Saville mCode = code; 42ef36ef67e009449300b0150c60c9f637e205d79eWink Saville } 43ef36ef67e009449300b0150c60c9f637e205d79eWink Saville 44ef36ef67e009449300b0150c60c9f637e205d79eWink Saville /** 45ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * Gets the detailed exception code when ImsException is throwed 46ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * 47ef36ef67e009449300b0150c60c9f637e205d79eWink Saville * @return the exception code in {@link ImsReasonInfo} 48ef36ef67e009449300b0150c60c9f637e205d79eWink Saville */ 49ef36ef67e009449300b0150c60c9f637e205d79eWink Saville public int getCode() { 50ef36ef67e009449300b0150c60c9f637e205d79eWink Saville return mCode; 51ef36ef67e009449300b0150c60c9f637e205d79eWink Saville } 52ef36ef67e009449300b0150c60c9f637e205d79eWink Saville} 53