pytabs.error_handle

 1# pyTABS - ETABS .NET API python wrapper
 2# ErrorHandling - for pyTABS exceptions
 3__all__ = ['handle']
 4
 5# import ETABS namespace (for future return codes)
 6from pytabs.etabs_config import *
 7
 8class Error(Exception):
 9    """Error base class for non-exit exceptions"""
10    pass
11
12
13class EtabsError(Error):
14    """General ETABS API Error Class"""
15    def __init__(self, ret_value : int, message : str):
16        self.ret_value : int = ret_value
17        self.message : str = message
18
19
20def handle(ret : int) -> None:
21    """Handles ETABS API return.
22    
23    :param ret: return integer from ETABS API function
24    :type ret: int
25    :raises EtabsError: general ETABS API error if return int is != 0 
26    """
27    try:
28        return_code = etabs.eReturnCode(ret)
29    except ValueError:
30        raise EtabsError(ret, 'UnknownError')
31    
32    if return_code != etabs.eReturnCode.NoError:
33        try:
34            message = str(etabs.eReturnCode(ret))
35        except:
36            message = 'UnknownError'
37        raise EtabsError(ret, message)
def handle(ret: int) -> None:
21def handle(ret : int) -> None:
22    """Handles ETABS API return.
23    
24    :param ret: return integer from ETABS API function
25    :type ret: int
26    :raises EtabsError: general ETABS API error if return int is != 0 
27    """
28    try:
29        return_code = etabs.eReturnCode(ret)
30    except ValueError:
31        raise EtabsError(ret, 'UnknownError')
32    
33    if return_code != etabs.eReturnCode.NoError:
34        try:
35            message = str(etabs.eReturnCode(ret))
36        except:
37            message = 'UnknownError'
38        raise EtabsError(ret, message)

Handles ETABS API return.

Parameters
  • ret: return integer from ETABS API function
Raises
  • EtabsError: general ETABS API error if return int is != 0