January 26, 2013 at 11:24 AMJan 26, 2013 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.
January 28, 2013 at 01:03 PMJan 28, 2013 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.
January 28, 2013 at 05:06 PMJan 28, 2013 Author 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.
February 22, 2013 at 05:53 PMFeb 22, 2013 Java Bindings 2.0.5 have a TinkerforgeException as basis now.
February 22, 2013 at 07:32 PMFeb 22, 2013 Author Cool... sounds like I need to grab a new JAR :-) :-)
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.