Il mio codice ora assomiglia a qualcosa del tipo:
void throw_illegal_part_of_input_exception(char c) {}
void throw_invalid_input_length_exception(int position, int length) {}
void throw_invalid_subinput_length_exception(int position, int length, bool is_greater) {}
// Some other similar functions
// ... do some stuff inside a function
if (errorCondition1) {
throw_invalid_character_exception(c);
} else if (errorCondition2) {
throw_invalid_input_length_exception(position, length);
} // etcetera
Il contenuto delle funzioni è in gran parte lo stesso; tuttavia, i messaggi di errore che desidero utilizzare nelle eccezioni generate sono molto diversi e dipendono dagli argomenti. C'è un modo migliore per scrivere questo?