JDK-4912894 : SPEC: MidiSystem.getSequencer() etc. should not throw IAE
  • Type: Bug
  • Component: client-libs
  • Sub-Component: javax.sound
  • Affected Version: 5.0
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2003-08-26
  • Updated: 2003-10-24
  • Resolved: 2003-10-24
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
5.0 b26Fixed
Related Reports
Relates :  
Description
For the following methods, the documentation does not specify the behaviour if there is no instance of a device of the respective category available at all in the system:
javax.sound.midi.MidiSystem.getSequencer()
javax.sound.midi.MidiSystem.getSynthesizer()
javax.sound.midi.MidiSystem.getTransmitter()
javax.sound.midi.MidiSystem.getReceiver()
The current behaviour of the implementation is to throw an IllegalArgumentException. This behaviour seems appropriate, since the user can find out the installed devices with MidiSystem.getMidiDeviceInfo(). Furthermore, the behaviour is consistent with MidiSystem.getDevice(), which does specify the IllegalArgumentException (if the passed info object doesn't match any device). Therefore, for the methods named above, IllegalArgumentException should be added to the documentation.

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: tiger tiger-beta FIXED IN: tiger-beta INTEGRATED IN: tiger-b26 tiger-b28 tiger-beta
14-06-2004

PUBLIC COMMENTS MidiSystem.getSequencer() etc. should not throw InvalidArgumentException
10-06-2004

EVALUATION ###@###.### 2003-08-26 Indeed, the requested clearification seems appropriate. ###@###.### 2003-10-15 We agreed with JCK that throwing an IAE is not a good idea, because it would break compatibility. Instead, we will throw a MidiUnavailableException, which is already declared. Edited synopsis: this bug became a spec bug after the implementation is fixed along with bug 4932838. ###@###.### 2003-10-23
23-10-2003