Error handling in OTRS

Hello, OTRS devs! It seems there is a fundamental flaw of error handling in OTRS. Currently, many subroutines (methods) use "return;" when something goes wrong. It's okay but "return;" returns undef in scalar context and empty list in list context. Let me show a problem: my %PID = $PIDObject->PIDGet( Name => 'PostMasterPOP3', ); Ok. Let's assume now that your %PID is empty. But why it's empty? Because there is no such PID or because you've got an error (some DB error for example)? There is no any error flags or something, what you can check.

Hello Юрий. You are right! There are many places in the OTRS backend code like this. Unfortunately this is not an easy change at hand. We are currently focusing on a rewrite of the frontend with modern technology. This will already replace much legacy code. The backend will follow later. Best regards, Martin Gruner Team Lead R&D OTRS AG Bahnhofplatz 1a 94315 Straubing T: +49 6172 681988-0 F: +49 9421 56818-18 I: https://www.otrs.com/ Geschäftssitz: Bad Homburg, Amtsgericht: Bad Homburg, HRB 10751, USt-Nr.: DE256610065 Aufsichtsratsvorsitzender: Burchard Steinbild, Vorstand: André Mindermann (Vorsitzender), Christopher Kuhn, Sabine Riedel ____________________________________________________ OTRS 7 | Automation • Agilität • Kommunikation • Transparenz https://otrs.com/de/otrs-7/ OTRS ist SERVIEW CERTIFIEDTOOL.
Am 23.10.2019 um 15:50 schrieb Юрий Мясоедов
: Hello, OTRS devs!
It seems there is a fundamental flaw of error handling in OTRS. Currently, many subroutines (methods) use "return;" when something goes wrong. It's okay but "return;" returns undef in scalar context and empty list in list context.
Let me show a problem:
my %PID = $PIDObject->PIDGet( Name => 'PostMasterPOP3', );
Ok. Let's assume now that your %PID is empty. But why it's empty? Because there is no such PID or because you've got an error (some DB error for example)? There is no any error flags or something, what you can check. _______________________________________________ OTRS mailing list: dev - Webpage: http://otrs.org/ Archive: http://lists.otrs.org/pipermail/dev To unsubscribe: http://lists.otrs.org/mailman/listinfo/dev
participants (2)
-
Martin Gruner
-
Юрий Мясоедов