code: def test_catch():
      p1 = Promise(lambda resolve, reject: resolve(0))
      p2 = (
          p1.then(lambda value: 1 / value)
          .catch(lambda e: e)
          .then(lambda e: type(e))
      )
      assert p2.get() == ZeroDivisionError
      assert p2.is_fulfilled
  
imports: from time import sleep
  from pytest import raises, fixture
  from threading import Event
  from promise import Promise, is_thenable, promisify, promise_for_dict
  from concurrent.futures import Future
  from threading import Thread
  from .utils import assert_exception
label_desc: Use image node_id 23 for calling a global function with example usage: test_catch() without return types