File tree Expand file tree Collapse file tree 2 files changed +12
-1
lines changed Expand file tree Collapse file tree 2 files changed +12
-1
lines changed Original file line number Diff line number Diff line change @@ -10,3 +10,11 @@ def test_once():
1010 mock .emit ("test-event" , 1 )
1111 mock .emit ("test-event" , 2 )
1212 assert len (calls ) == 1
13+
14+
15+ def test_exception_on_emit (caplog ):
16+ """Test exception on emit gets handled."""
17+ mock = event .EventBase ()
18+ mock .on ("test-event" , lambda _ : 1 / 0 )
19+ mock .emit ("test-event" , 1 )
20+ assert "Error handling event: test-event" in caplog .text
Original file line number Diff line number Diff line change @@ -62,7 +62,10 @@ def event_listener(data: dict) -> None:
6262 def emit (self , event_name : str , data : dict ) -> None :
6363 """Run all callbacks for an event."""
6464 for listener in self ._listeners .get (event_name , []).copy ():
65- listener (data )
65+ try :
66+ listener (data )
67+ except Exception : # pylint: disable=broad-exception-caught
68+ LOGGER .exception ("Error handling event: %s" , event_name )
6669
6770 def _handle_event_protocol (self , event : Event ) -> None :
6871 """Process an event based on event protocol."""
You can’t perform that action at this time.
0 commit comments