Ich finde, Du machst Dir zu viele Gedanken um dieses 'Problem'.
Wenn ein vom Anwender zu implementierendes Event von ihm nicht entsprechend abgesichert ist, dann ist das sein Problem.
Ich erwarte als Anwender, das die Klasse ihre Arbeit dann verweigert. Wenn er (der Anwender) sich nicht an die Konvention hält, die Fehler, die dort geschehen, entsprechend zu behandeln, dann *kann* deine Klasse doch nicht einfach weitermachen. Du implizierst dann einen stabilen Systemzustand, der nicht unbedingt gegeben ist. Wohlgemerkt: Die
Exception ist unerwartet.