JavaLaurence Geschrieben January 26, 2013 at 11:24 Geschrieben January 26, 2013 at 11:24 In the 2.0.1 Java bindings (and maybe before, don't know), we have two public TimeOutException classes: com.tinkerforge.TimeoutException and com.tinkerforge.IPConnection.TimeOutException If your program requires both (as is typically the case), then Java requires you to fully qualify both class names so that the compiler can differentiate the two. This is pretty awkward. Historically, Java APIs have tried to avoid such name collisions. Renaming the simple name of one, or both, would solve this. Zitieren
photron Geschrieben January 28, 2013 at 13:03 Geschrieben January 28, 2013 at 13:03 It was com.tinkerforge.IPConnection.TimeoutException in bindings version 1.x.y. I moved the TimeoutException to com.tinkerforge.TimeoutException in version 2.0.0, but missed to remove it from com.tinkerforge.IPConnection. The inner version of TimeoutException is not used anymore in the bindings and I just remove it in version 2.0.2. You only need com.tinkerforge.TimeoutException in your program. Sorry for this oversight. Zitieren
JavaLaurence Geschrieben January 28, 2013 at 17:06 Autor Geschrieben January 28, 2013 at 17:06 On the subject of exceptions, maybe you should create a hierarchy rooted in TinkerForgeException. Having an exception hierarchy allows you (and clients) to specify much shorter throws clauses or catch blocks. The same approach is used by lots of APIs throwing IOException and SQLException. Both of these have many different sub-exceptions, but clients are not obliged to specify them everywhere in their code. Zitieren
photron Geschrieben February 22, 2013 at 17:53 Geschrieben February 22, 2013 at 17:53 Java Bindings 2.0.5 have a TinkerforgeException as basis now. Zitieren
JavaLaurence Geschrieben February 22, 2013 at 19:32 Autor Geschrieben February 22, 2013 at 19:32 Cool... sounds like I need to grab a new JAR :-) :-) Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.