< prev index next >
src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JlinkTask.java
Print this page
@@ -68,10 +68,11 @@
* Implementation for the jlink tool.
*
* ## Should use jdk.joptsimple some day.
*/
public class JlinkTask {
+ private static final boolean DEBUG = Boolean.getBoolean("jlink.debug");
private static <T extends Throwable> void fail(Class<T> type,
String format,
Object... args) throws T {
String msg = new Formatter().format(format, args).toString();
@@ -213,19 +214,25 @@
if (options.saveoptsfile != null) {
Files.write(Paths.get(options.saveoptsfile), getSaveOpts().getBytes());
}
return EXIT_OK;
- } catch (UncheckedIOException | PluginException | IOException | ResolutionException e) {
+ } catch (UncheckedIOException | PluginException | IllegalArgumentException |
+ IOException | ResolutionException e) {
log.println(taskHelper.getMessage("error.prefix") + " " + e.getMessage());
- log.println(taskHelper.getMessage("main.usage.summary", PROGNAME));
+ if (DEBUG) {
+ e.printStackTrace(log);
+ }
return EXIT_ERROR;
} catch (BadArgs e) {
taskHelper.reportError(e.key, e.args);
if (e.showUsage) {
log.println(taskHelper.getMessage("main.usage.summary", PROGNAME));
}
+ if (DEBUG) {
+ e.printStackTrace(log);
+ }
return EXIT_CMDERR;
} catch (Throwable x) {
log.println(taskHelper.getMessage("main.msg.bug"));
x.printStackTrace(log);
return EXIT_ABNORMAL;
< prev index next >