Z Jabberu:
Korektně házíme SOAP::Fault (což je o několik řádů lepší, než bylo předtím), ale pořád může nějaká volaná knihovna (třeba XML parser pod SOAPem) vyhodit obyčejnou textovou výjimku. pokud bychom se se SOAP::Fault popasovali returnem, mohli bychom udělat globální handler na výjimky (kde bychom čekali jen textové), které bychom mohli chytat jako interní chybu a případně z nich taky udělat validní SOAP::Fault
Takže pokud funguje return SOAP::Fault třeba z saveNewEvent, stačilo by nám upravit errMsg na:
...
if (defined $soap_msg) {
return SOAP::Fault->faultstring($soap_msg);
}
} # End of sendMsg
a tam kde se používá, místo errMsg(...) volat rovnou return errMsg(...)
Jen je teď v errMsg
if (defined $soap_msg) {
Pokud chceme jen zalogovat, ale nevracet ještě chybu klientovi. To by se muselo udělat jinak. No, třeba tak, že by si holt volající nezavolal return errMsg("err", "baf", "BAF") ale jen errMsg("info", "bubu").