Ho un codice come questo (pseudocodice)
foreach(Box box in boxes)
{
if(boxFilter.PassesFilter(box))
{
// do something useful
}
else
{
Log.Log(format("Box %s was rejected", box.BoxId))
}
}
Ma ora penso che mi piacerebbe che il messaggio di registro avesse più informazioni come "Riquadro 1 rifiutato perché troppo alto" o "Riquadro 549 respinto: altezza 25" supera l'altezza massima di 24 "".
Qual è l'idioma migliore per ottenere queste informazioni nel registro? Devo creare un oggetto FilterResult
che viene restituito dal metodo PassesFilter
? O credo che potrei anche lanciare un'eccezione e prenderla e registrarla? O qualcos'altro?
Mi capita di usare C ++.
Aggiorna
Oltre alla registrazione, potrei voler anche presentare un messaggio all'utente nell'interfaccia utente.