1#!/usr/bin/env python3 2# -*- coding: utf-8 -*- 3 4# 5# Copyright (c) 2023 Huawei Device Co., Ltd. 6# Licensed under the Apache License, Version 2.0 (the "License"); 7# you may not use this file except in compliance with the License. 8# You may obtain a copy of the License at 9# 10# http://www.apache.org/licenses/LICENSE-2.0 11# 12# Unless required by applicable law or agreed to in writing, software 13# distributed under the License is distributed on an "AS IS" BASIS, 14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15# See the License for the specific language governing permissions and 16# limitations under the License. 17 18import sys 19 20A_CONST = 1 21 22 23class StatusCode(): 24 25 def __init__(self, status=True, info=''): 26 self.status = status 27 self.info = info 28 29 30def check_status(func): 31 status = func() 32 if not status.status: 33 raise Exception("ERROR") 34 return StatusCode 35 36 37@check_status 38def func_1() -> StatusCode: 39 if A_CONST == 1: 40 return StatusCode() 41 else: 42 return StatusCode(False, "error") 43 44 45def main(): 46 func_1() 47 print(func_1) 48 49 50if __name__ == "__main__": 51 sys.exit(main()) 52