# HG changeset patch
# User František Kučera <franta-hg@frantovo.cz>
# Date 1402165964 -7200
# Node ID f696e73de2251fcc08af7404c2896385fa7d8d48
# Parent  7284f95da10e0ac35ac1445da75073f9df9c8c47
CLI: odchytávání výjimek

diff -r 7284f95da10e -r f696e73de225 java/alt2xml-cli/src/cz/frantovo/alt2xml/cli/CLI.java
--- a/java/alt2xml-cli/src/cz/frantovo/alt2xml/cli/CLI.java	Sat Jun 07 20:32:34 2014 +0200
+++ b/java/alt2xml-cli/src/cz/frantovo/alt2xml/cli/CLI.java	Sat Jun 07 20:32:44 2014 +0200
@@ -20,6 +20,9 @@
 import cz.frantovo.alt2xml.ParserFactory;
 import java.io.File;
 import java.io.OutputStream;
+import java.util.Arrays;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 import javax.xml.parsers.SAXParser;
 import javax.xml.parsers.SAXParserFactory;
 import javax.xml.stream.XMLOutputFactory;
@@ -32,27 +35,33 @@
  */
 public class CLI {
 
-	public static void main(String[] args) throws Exception {
+	private static final Logger log = Logger.getLogger(CLI.class.getName());
 
-		File vstup = new File(args[0]);
-		OutputStream výstup = System.out;
+	public static void main(String[] args) {
 
-		/**
-		 * Serializujeme data do XML.
-		 * To normálně vůbec není potřeba – data se do tvaru proudu obsahujícího ostré závorky
-		 * vůbec nedostanou – zpracováváme události (volání javovských metod – začátky a konce
-		 * elementů atd.)
-		 * a z nich např. deserializujeme nějaké naše objekty, provádíme nějaké akce, nebo třeba
-		 * stavíme DOM.
-		 */
-		XMLOutputFactory xmlOutputFactory = XMLOutputFactory.newFactory();
-		XMLStreamWriter w = xmlOutputFactory.createXMLStreamWriter(výstup);
-		DefaultHandler h = new EchoContentHandler(w);
+		try {
+			File vstup = new File(args[0]);
+			OutputStream výstup = System.out;
 
-		SAXParserFactory t = SAXParserFactory.newInstance(ParserFactory.class.getName(), null);
-		//SAXParserFactory t = SAXParserFactory.newInstance();
-		SAXParser p = t.newSAXParser();
-		p.parse(vstup, h);
+			/**
+			 * Serializujeme data do XML.
+			 * To normálně vůbec není potřeba – data se do tvaru proudu obsahujícího ostré závorky
+			 * vůbec nedostanou – zpracováváme události (volání javovských metod – začátky a konce
+			 * elementů atd.)
+			 * a z nich např. deserializujeme nějaké naše objekty, provádíme nějaké akce, nebo třeba
+			 * stavíme DOM.
+			 */
+			XMLOutputFactory xmlOutputFactory = XMLOutputFactory.newFactory();
+			XMLStreamWriter w = xmlOutputFactory.createXMLStreamWriter(výstup);
+			DefaultHandler h = new EchoContentHandler(w);
+
+			SAXParserFactory t = SAXParserFactory.newInstance(ParserFactory.class.getName(), null);
+			//SAXParserFactory t = SAXParserFactory.newInstance();
+			SAXParser p = t.newSAXParser();
+			p.parse(vstup, h);
+		} catch (Exception e) {
+			log.log(Level.SEVERE, "Error during processing: " + Arrays.toString(args), e);
+		}
 
 	}
 }