1 /* 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 package com.ohos.hapsigntool.error; 17 18 import java.util.Locale; 19 20 /** 21 * Runtime exception for programs. 22 * 23 * @since 2021/12/28 24 */ 25 public class CustomException extends RuntimeException { 26 /** 27 * Create custom exception with params. 28 * 29 * @param error Error enum to throw 30 * @param message Error msg to throw 31 */ CustomException(ERROR error, String message)32 CustomException(ERROR error, String message) { 33 super(String.format(Locale.ROOT,"%s, code: %d. Details: %s", error.toString(), error.getErrorCode(), message)); 34 } 35 36 /** 37 * Throw custom exception with params. 38 * 39 * @param error Error enum to throw 40 * @param message Error msg to throw 41 */ throwException(ERROR error, String message)42 public static void throwException(ERROR error, String message) { 43 throw new CustomException(error, message); 44 } 45 46 } 47