[PD] Why can't you find the source of last error?

IOhannes m zmoelnig zmoelnig at iem.at
Sun Jun 10 13:05:25 CEST 2007


Matteo.sistisette wrote:
> Hi all,
> 
> Often, when I get an error, such as for example "inlet: no method for
> 'list'", and I do a "Find last error", I get the message:
> ...sorry, I couldn't find the source of last error
> 
> Can anybody explain which situations can cause PD to be unable to find
> the error?
> It may (or may not) give me some clue about the kinf of error.


there are several ways to print out an error in pd (i mean, on the
C-side of things)
one of them is to just tell the user that what they read is an error.
(e.g you could print "hello world" to the console; and you could print
"ERROR: hello world" to the console; for pd these are just 2 strings;
what makes the 2nd one an error-message is only your interpretation).
pd does not track which object's code sends a certain message to the
console.
so when an object uses this simple kind of error-message, there is no
way to track the error back to it's source (or rather: symptom)

then there is a 2nd type of error message, which links a message to a
certain object.
when an object uses this special kind of error message, you will be able
to track the error with the "find last error" menu.

a C-programmer can often choose to use one if these variants;
using the 2nd method is a tiny bit more complicated (and requires more
typing); this is most likely the reason why people do not explicitely
use it.
the 2nd reason not to use it is, that you obviously have to know the
object (e.g. by holding a reference) that emits the error message in
order to attach the error to it.
this is often not that simple, at least in the way, pd is implemented.


mfg.asdr
IOhannes




More information about the Pd-list mailing list