I try to give just a short answer on this. We cannot say that there is an “equivalent” of your code snippet in Joomla 4 since Joomla has been handling errors with using core PHP Exceptions. And your code sample would get error in newer Joomla 3 also.
The old JError class were deprecated quite long time ago (at Joomla 3.1). The code editors shows this obviously at older error handlings in codes inside Joomla (at
getErrorMsg() and so on…)
bind() method - if it is the Table class method - is throwing an Exception
\InvalidArgumentException, if the data (first parameter of the method: $src) is not an object or an array. Or if that method would be the Joomla Form class
bind() method then it thrown an
The important part to understand at this question is that we have to
\Exception thrown in the method (otherwise it will cause a PHP Fatal error of Uncaught exception…), so we have to use a
try-catch block in this code and catch the Exception given in the method
bind() which we are using in this part of the code.
catch (\InvalidArgumentException $e)
// $e->getMessage(); // Exception message already set in the method we try to use...
// do some code using the $e->getMessage(), but do not return it...
// Factory::getApplication()->enqueueMessage($e->getMessage(), 'error'); // for example
// or log it: Log::add($e->getMessage(), Log::WARNING, 'jerror');
// or you can ignore the Exception