121013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger/* 221013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * Copyright (c) 2013 The Android Open Source Project 321013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * 421013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * Licensed under the Apache License, Version 2.0 (the "License"); 521013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * you may not use this file except in compliance with the License. 621013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * You may obtain a copy of the License at 721013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * 821013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * http://www.apache.org/licenses/LICENSE-2.0 921013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * 1021013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * Unless required by applicable law or agreed to in writing, software 1121013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * distributed under the License is distributed on an "AS IS" BASIS, 1221013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1321013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * See the License for the specific language governing permissions and 1421013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * limitations under the License. 1521013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger */ 1621013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger 1721013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebingerpackage com.android.ims; 1821013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger 1921013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger/** 2021013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * This class defines a general IMS-related exception. 2121013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * 2221013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * @hide 2321013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger */ 2421013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebingerpublic class ImsException extends Exception { 2521013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger 2621013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger /** 2721013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * Refer to CODE_LOCAL_* in {@link ImsReasonInfo} 2821013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger */ 2921013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger private int mCode; 3021013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger 3121013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger public ImsException() { 3221013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger } 3321013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger 3421013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger public ImsException(String message, int code) { 3521013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger super(message + ", code = " + code); 3621013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger mCode = code; 3721013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger } 3821013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger 3921013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger public ImsException(String message, Throwable cause, int code) { 4021013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger super(message, cause); 4121013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger mCode = code; 4221013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger } 4321013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger 4421013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger /** 4521013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * Gets the detailed exception code when ImsException is throwed 4621013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * 4721013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * @return the exception code in {@link ImsReasonInfo} 4821013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger */ 4921013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger public int getCode() { 5021013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger return mCode; 5121013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger } 5221013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger} 53