class_docstr: Interact with dash apps inside jupyter notebooks.
class_docstr_tok: ["Interact","with","dash","apps","inside","jupyter","notebooks","."]
docstr: Install traceback handling for callbacks
docstr_tok: ["Install","traceback","handling","for","callbacks"]
code: def configure_callback_exception_handling(
      self, app, dev_tools_prune_errors
  ):
      """Install traceback handling for callbacks"""
  
      @app.server.errorhandler(Exception)
      def _wrap_errors(error):
          # Compute number of stack frames to skip to get down to callback
          skip = _get_skip(error) if dev_tools_prune_errors else 0
  
          # Customized formatargvalues function we can place function parameters
          # on separate lines
          original_formatargvalues = inspect.formatargvalues
          inspect.formatargvalues = _custom_formatargvalues
          try:
              # Use IPython traceback formatting to build the traceback string.
              ostream = io.StringIO()
              ipytb = FormattedTB(
                  tb_offset=skip,
                  mode="Verbose",
                  color_scheme="NoColor",
                  include_vars=True,
                  ostream=ostream,
              )
              ipytb()
          finally:
              # Restore formatargvalues
              inspect.formatargvalues = original_formatargvalues
  
          stacktrace = ostream.getvalue()
  
          if self.inline_exceptions:
              print(stacktrace)
  
          return stacktrace, 500
  
imports: import asyncio
  import io
  import inspect
  import logging
  import os
  import queue
  import uuid
  import sys
  import threading
  import time
  import traceback
  from typing_extensions import Literal
  from werkzeug.serving import make_server
label_desc: Use image node_id 7 for calling the JupyterDash obj's underlying member method code with example usage: obj.configure_callback_exception_handling(app, dev_tools_prune_errors) and returns: stacktrace,  int