summaryrefslogtreecommitdiff
path: root/src/main/java/com/it_jaros/jscanner/App.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/it_jaros/jscanner/App.java')
-rw-r--r--src/main/java/com/it_jaros/jscanner/App.java32
1 files changed, 17 insertions, 15 deletions
diff --git a/src/main/java/com/it_jaros/jscanner/App.java b/src/main/java/com/it_jaros/jscanner/App.java
index 615262a..573e46f 100644
--- a/src/main/java/com/it_jaros/jscanner/App.java
+++ b/src/main/java/com/it_jaros/jscanner/App.java
@@ -1,5 +1,6 @@
package com.it_jaros.jscanner;
+import java.io.IOException;
import java.util.concurrent.CountDownLatch;
public class App {
@@ -12,36 +13,37 @@ public class App {
run(args);
} catch (Exception e) {
System.out.printf("%nFATAL ERROR: %s", e.getMessage());
+ } finally {
+ shutdownLatch.countDown();
+ removeShutdownHook();
}
}
private static void run(String[] args) throws Exception {
ScanOptions options = parseOptions(args);
- if (options == null) return;
try (Scanner scanner = new Scanner(options)) {
- addShutdownHook(scanner);
- Scan scan = Scan.create(options);
- ProgressBar progressBar = new ProgressBar(scan, options.quiet());
- progressBar.start();
- scanner.runScan(scan, result -> progressBar.printResult(result, options.showFilteredPorts()));
- progressBar.stop();
- } finally {
- shutdownLatch.countDown();
- removeShutdownHook();
+ runScan(scanner, options);
}
}
+ private static void runScan(Scanner scanner, ScanOptions options) throws IOException {
+ addShutdownHook(scanner);
+ Scan scan = Scan.create(options);
+ ProgressBar progressBar = new ProgressBar(scan, options.quiet());
+ progressBar.start();
+ scanner.runScan(scan, result -> progressBar.printResult(result, options.showFilteredPorts()));
+ progressBar.stop();
+ }
+
private static ScanOptions parseOptions(String[] args) {
CliParser cliParser = new CliParser();
try {
return cliParser.parseArgs(args);
} catch (IllegalArgumentException e) {
- System.out.printf("Error while parsing arguments: %s", e.getMessage());
- System.out.println();
+ System.out.printf("Error while parsing arguments: %s%n", e.getMessage());
+ cliParser.usageAndExit(1);
+ throw e;
}
-
- cliParser.usageAndExit(1);
- return null;
}
/**