Links

Part 2 — Errors handling [Catching all bugs]

In this part, we will work with bugs. We will catch them.

Table of contents

Step 1 — Supervisely logger

Supervisely has a logger. It is a wrapper over Python's built-in logging package.
First thing we need to do is install Supervisely Python SDK to your environment:
pip install supervisely
Let's take the code from Part 1 as a basis and add a logger:
import supervisely_lib as sly
worlds = ['Westeros', 'Azeroth', 'Middle Earth', 'Narnia']
sly_logger = sly.logger
for world in worlds:
sly_logger.info(f'Hello {world}!')

Step 2 — Use [try: except] with traceback

To handle errors, you can use the [try: except] construction
src/main.py
import supervisely_lib as sly
worlds = ['Westeros', 'Azeroth', 'Middle Earth', 'Narnia']
sly_logger = sly.logger
try:
for world in worlds:
sly_logger.info(f'Hello {world}!')
if 'Our World' not in worlds:
raise ValueError(f"Can't find Our World")
except Exception as ex:
sly_logger.warning(ex)

Step 3 — Results

Error Handling