From e0c1cdc5cea32d7551cf92069adfd529fc48a756 Mon Sep 17 00:00:00 2001 From: Cedric Beust Date: Fri, 6 Jul 2012 23:26:16 -0700 Subject: If a setter throws ParameterException, don't wrap it into another ParameterException. --- .../java/com/beust/jcommander/JCommanderTest.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'src/test/java/com/beust') diff --git a/src/test/java/com/beust/jcommander/JCommanderTest.java b/src/test/java/com/beust/jcommander/JCommanderTest.java index 9dba74d..8b1e761 100644 --- a/src/test/java/com/beust/jcommander/JCommanderTest.java +++ b/src/test/java/com/beust/jcommander/JCommanderTest.java @@ -837,9 +837,26 @@ public class JCommanderTest { Assert.assertTrue(arg.help); } + public void setterThatThrows() { + class Arg { + @Parameter(names = "--host") + public void setHost(String host) { + throw new ParameterException("Illegal host"); + } + } + boolean passed = false; + try { + new JCommander(new Arg(), new String[] { "--host", "host" }); + } catch(ParameterException ex) { + Assert.assertEquals(ex.getCause(), null); + passed = true; + } + Assert.assertTrue(passed, "Should have thrown an exception"); + } + @Test(enabled = false) public static void main(String[] args) throws Exception { - new JCommanderTest().verifyHelp(); + new JCommanderTest().setterThatThrows(); // class A { // @Parameter(names = "-short", required = true) // List parameters; -- cgit v1.2.3