Query list of Rubicon Error Codes and meanings

Hello Ann,
I was wondering if I could see a list of Rubicon Error Codes and their meanings ?

I saw some old Rubicon2 code … and it got me thinking… seeing the error codes could point to dataset error handling and which modules Rubicon may be triggering UNICODE problems.
eg
on E : Exception do
if (E is ERubicon) and
(ERubicon(E).ErrorCode = rbeBufferTooSmall) then
begin
Reset;
Execute
end
else
raise
end;

Hi - there is a single PAS file that defines the Rubicon error codes but if the constants do not make sense already (some do) then there are not further clues. The best I have found is global search *.pas for the error constant, to see when it is used.

However, as far as datasets in general and unicode troubleshooting, if you are using the FireDAC bridge, do you know that it has a sophisticated and very helpful trace utility that lets you see inside the database connection comms?

Tracing and Monitoring with FireDAC

1 Like

The unit with the error codes is rbBase.pas and what you want to look for is

procedure RaiseRubiconError

Forgive my ignorance… but I would not know what to do with that … even though I would like too.
procedure RaiseRubiconError
All I can surmise is that it is something you put in a pas file somewhere … not even sure where ??? declarations PRIVATE

IT WOULD BE NICE IF THERE WERE VIDEOS ON THIS REALLY IMPORTANT STUFF
forgive my ignorance
then I would like to start learning GREEK
sorry if I seem impatient

Hi Ann,
thanks for the page link… no Videos I guess…
It would be nice if there was a logging of a known error, state the error,
and then highlight the appearance of the error in red in the log output.
Just a suggestion… all seems a little arcane to me … sorry.

HI - sorry - it’s hard to know which level to answer some questions on.

Do you have a utility that lets you search files outside of Delphi? I use FuzRegex from https://www.fuzregex.com. It’s free for ‘find’ operations. Let’s say you are using that or anything equivalent.

If you search the r_core folder, *.pas files, and look for
procedure RaiseRubiconError

You will find that procedure is already defined in r_core\rbBase.pas. Yes? (( As I’ve already told you where the procedure is, you can just open that particular file in Delphi IDE and ctrl-F Find the same thing. ))

I expect you will often find it helpful to search a large amount of PAS code for little details, and having a tool that lives outside Delphi and is not restricted to the units listed in any given DPR file… it helps. So hang on to that idea for learning purposes.

Once you find procedure RaiseRubiconError, scroll down a tiny bit and you will see a CASE statement which happens to list out every single exception string.

Basically that procedure changes an integer exception code number to a slightly more descriptive string.

I’m definitely not suggesting that you write any code about this. I was just trying to explain where you could see all the error codes.

Over.