code: def __exit__(self, exc_type, exc_value, exc_traceback):
      # print("EXIT", clarify.nesting, self.frame, id(self.frame))
      clarify.nesting -= 1
      if clarify.nesting > 0:
          return
      if exc_type is None:
          return
      exc_frame, lib_entry_frame = tensor_lib_entry_frame(exc_traceback)
      if lib_entry_frame is not None or is_interesting_exception(
          exc_value
      ):
          # print("exception:", exc_value, exc_traceback)
          # traceback.print_tb(exc_traceback, limit=5, file=sys.stdout)
          module, name, filename, line, code = info(exc_frame)
          # print('info', module, name, filename, line, code)
          # print("exc id", id(exc_value))
          if code is not None:
              self.view = tsensor.viz.pyviz(
                  code,
                  exc_frame,
                  self.fontname,
                  self.fontsize,
                  self.dimfontname,
                  self.dimfontsize,
                  self.char_sep_scale,
                  self.fontcolor,
                  self.underline_color,
                  self.ignored_color,
                  self.error_op_color,
                  hush_errors=self.hush_errors,
                  dtype_colors=self.dtype_colors,
                  dtype_precisions=self.dtype_precisions,
                  dtype_alpha_range=self.dtype_alpha_range,
              )
              if (
                  self.view is not None
              ):  # Ignore if we can't process code causing exception (I use a subparser)
                  if self.show == "viz":
                      self.view.show()
                  augment_exception(exc_value, self.view.offending_expr)
  
imports: import os
  import sys
  import traceback
  import inspect
  import hashlib
  from pathlib import Path
  import matplotlib.pyplot
  import tsensor
label_desc: Use image node_id 3 for calling the clarify obj's underlying member method code with example usage: obj.__exit__(exc_type, exc_value, exc_traceback) without return types