Sto scrivendo una piccola libreria per aprire un xml. Se la lettura dell'elemento xml di livello superiore non riesce, la libreria genera un'eccezione.
Tuttavia, se non si riesce a leggere uno degli elemetns secondari di livello inferiore xml, al momento lancio l'eccezione per arrestare il costruttore, ma poi lo prendo e non farò nulla, poiché l'errore potrebbe non essere critico.
Ho bisogno di un modo per dire al programma principale che qualcosa è successo.
Posso pensare a due modi per farlo accadere. Uno è quello di memorizzare i dati offensivi in una struttura e renderli accessibili al programma che chiama la libreria. Questa è la mia prima scelta, un po 'sono aperta ai suggerimenti.
Un altro è passare un qualche tipo di stream a cui la libreria scriverà errori.
Il problema qui è che devo scegliere tra la libreria che non dipende dal flusso che passo e fare in modo che lo stile di output dell'errore corrisponda a quello del programma principale.
C'è un modo OO in cui questo è normalmente fatto? C'è un modo migliore?
Modifica Non sto scrivendo un lettore xml, sto usando quello fornito con .NET. I dati che ottengo da XML potrebbero o potrebbero non essere a posto per il mio utilizzo, cioè il bit con cui ho a che fare.