I have the following try block:
try: # depending on conditions, this can generate several types of errors mymodule.do_stuff() except Exception as e: print("something went wrong, the error was :" + type(e).__name__) I would like to catch potential errors from do_stuff(). After trial and error I was able to generate a list of potential errors that can be triggered by do_stuff() by printing their type(e).__name__ value:
DoStuffInsufficientMemoryException DoStuffInsufficientCPUException DoStuffInsufficientDiskException but if I try do modify my except statement from except Exception as e to except DoStuffInsufficientMemoryException, I will get the error that DoStuffInsufficientMemoryException is not defined.
I tried defining a class that extends Exception for it, as most tutorials / questions in here suggest, basically:
class WAFInvalidParameterException(Exception): pass so now that variable is recognized, but since I can't control the error that do_sutff() will raise, I can't really raise this exception in my initial try block.
Ideally I would like to have 1 except block for each error so I would like to have something like:
try: mymodule.do_stuff() except DoStuffInsufficientMemoryException: free_memory() except DoStuffInsufficientCPUException: kill_processes() except DoStuffInsufficientDiskException: free_disk_space() but of course this doesn't work as these variables are not defined.