To jest stara wersja strony!
Python
Try
try: print("Hello") except NamedError: // obsługa konkretnego błędu print("NamedError occurred") except: // obsługa jakiegokolwiek błędu print("Something went wrong") except Exception as e: // obsługa jakiegokolwiek błędu z informacją zwrotną co to za błąd print("The error is: ",e) else: // jeżeli nie wystąpił żaden błąd print("Nothing went wrong") finally: // po obsłużeniu wszystkiego powyższego print("The 'try except' is finished") if ...: raise TypeError("My Error occurred")
Built-in Exceptions
| Exception | Description |
|---|---|
| ArithmeticError | Raised when an error occurs in numeric calculations |
| AssertionError | Raised when an assert statement fails |
| AttributeError | Raised when attribute reference or assignment fails |
| Exception | Base class for all exceptions |
| EOFError | Raised when the input() method hits an „end of file” condition (EOF) |
| FloatingPointError | Raised when a floating point calculation fails |
| GeneratorExit | Raised when a generator is closed (with the close() method) |
| ImportError | Raised when an imported module does not exist |
| IndentationError | Raised when indentation is not correct |
| IndexError | Raised when an index of a sequence does not exist |
| KeyError | Raised when a key does not exist in a dictionary |
| KeyboardInterrupt | Raised when the user presses Ctrl+c, Ctrl+z or Delete |
| LookupError | Raised when errors raised cant be found |
| MemoryError | Raised when a program runs out of memory |
| NameError | Raised when a variable does not exist |
| NotImplementedError | Raised when an abstract method requires an inherited class to override the method |
| OSError | Raised when a system related operation causes an error |
| OverflowError | Raised when the result of a numeric calculation is too large |
| ReferenceError | Raised when a weak reference object does not exist |
| RuntimeError | Raised when an error occurs that do not belong to any specific exceptions |
| StopIteration | Raised when the next() method of an iterator has no further values |
| SyntaxError | Raised when a syntax error occurs |
| TabError | Raised when indentation consists of tabs or spaces |
| SystemError | Raised when a system error occurs |
| SystemExit | Raised when the sys.exit() function is called |
| TypeError | Raised when two different types are combined |
| UnboundLocalError | Raised when a local variable is referenced before assignment |
| UnicodeError | Raised when a unicode problem occurs |
| UnicodeEncodeError | Raised when a unicode encoding problem occurs |
| UnicodeDecodeError | Raised when a unicode decoding problem occurs |
| UnicodeTranslateError | Raised when a unicode translation problem occurs |
| ValueError | Raised when there is a wrong value in a specified data type |
| ZeroDivisionError | Raised when the second operator in a division is zero |
Obiektowo
W Python nie ma czegoś takiego jak prywatne/publiczne. Stosowane są podkreślniki przez nazwą aby wskazać, że to jest używane jak prywatne.
class ZeissReport: def __init__(self, file): self._file = file // właściwość podawana przy inicjalizacji self._part = None // właściwość z wartością ustawianą później self._results = [] self._readPdf() // funkcja wywołana w trakcie inicjalizacji @property def part(self): // odczyt właściwości - Getter return self._part @property def results(self): return self._results @part.setter // ustawienie właściwości - Setter def part(self, value): if value < 1: raise ValueError("Part below 1 is not possible") self._part = value def _readPdf(self): // funkcja ... self._part = ... self._results = ...