I think its just the semantics of GAGEtimer ITSELF actually writing out to System.out that seems a bit whiffy.
Understandable. More correct behavior would be to simply print a one line message stating that the timer is falling back. The problem is that I don't trust 90% of the people who use the technology. I've seen far too many newbies run off and try to "do things differently" because they think they know better. At least the error forces them to stop and think. :-)
I know it works fine with or without the DLL so having an UnsatisfiedLinkError pop up on System.out looks as though something terminal has happened.
Since GAGE is primarily useful in environments where the DLL would be available, making programmers think that "something has happened" is kind of the point. It can potentially save them days of debugging, and save me quite a few support headaches. :-)
Throwing an exception on the other hand would allow the user of the library to decide what they want to do with it.
There's certainly some merit to such a design. However, a timer is probably far too simple a device to be adding such complexity to the user's program. Not to mention that the timer would need to be re-architected to allow for the exception to even reach the user. :-)
As i said its no big deal because anybody who wants to can recompile it anyway.
Heh. Do I have some war stories on THAT one. "I changed the package name to com.bob.timer, and now the DLL doesn't load! Why doesn't this $#%@ work?!"
Anyhoo, I don't want to carp*, I'm heartily appreciative of it :-)
even if it is a b*it fishy. hohohoho.