Don't crash if the custom handler can't be loaded

This commit is contained in:
Ben Jackson 2021-04-03 19:55:58 +01:00
commit f003d66d35

View file

@ -897,6 +897,7 @@ class DebugSession( object ):
self._splash_screen, self._splash_screen,
"Unable to start adapter" ) "Unable to start adapter" )
else: else:
handlers = [ self ]
if 'custom_handler' in self._adapter: if 'custom_handler' in self._adapter:
spec = self._adapter[ 'custom_handler' ] spec = self._adapter[ 'custom_handler' ]
if isinstance( spec, dict ): if isinstance( spec, dict ):
@ -905,10 +906,12 @@ class DebugSession( object ):
else: else:
module, cls = spec.rsplit( '.', 1 ) module, cls = spec.rsplit( '.', 1 )
try:
CustomHandler = getattr( importlib.import_module( module ), cls ) CustomHandler = getattr( importlib.import_module( module ), cls )
handlers = [ CustomHandler( self ), self ] handlers = [ CustomHandler( self ), self ]
else: except ImportError:
handlers = [ self ] self._logger.exception( "Unable to load custom adapter %s",
spec )
self._connection = debug_adapter_connection.DebugAdapterConnection( self._connection = debug_adapter_connection.DebugAdapterConnection(
handlers, handlers,