Sök…


Introduktion

Python har många inbyggda undantag som tvingar ditt program att mata ut ett fel när något i det går fel.

Ibland kan du dock behöva skapa anpassade undantag som tjänar ditt syfte.

I Python kan användare definiera sådana undantag genom att skapa en ny klass. Denna undantagsklass måste härledas, antingen direkt eller indirekt, från undantagsklassen. De flesta av de inbyggda undantagen härrör också från denna klass.

Anpassat undantag

Här har vi skapat ett användardefinierat undantag som heter CustomError som härleds från undantagsklassen. Detta nya undantag kan tas upp, liksom andra undantag, med hjälp av höjningsmeddelandet med ett valfritt felmeddelande.

class CustomError(Exception):
       pass

x = 1

if x == 1:
    raise CustomError('This is custom error')

Produktion:

Traceback (most recent call last):
  File "error_custom.py", line 8, in <module>
    raise CustomError('This is custom error')
__main__.CustomError: This is custom error

Fånga anpassade undantag

Detta exempel visar hur man fångar anpassat undantag

class CustomError(Exception):
     pass

try:
    raise CustomError('Can you catch me ?')
except CustomError as e:
    print ('Catched CustomError :{}'.format(e))
except Exception as e:
    print ('Generic exception: {}'.format(e))

Produktion:

Catched CustomError :Can you catch me ?


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow