import java.util.Properties;\r
import javax.xml.parsers.DocumentBuilder;\r
import javax.xml.parsers.DocumentBuilderFactory;\r
+import javax.xml.parsers.ParserConfigurationException;\r
import jp.sourceforge.jindolf.corelib.LandDef;\r
import jp.sourceforge.jindolf.parser.DecodeException;\r
import jp.sourceforge.jindolf.parser.HtmlParseException;\r
+import org.xml.sax.SAXException;\r
\r
/**\r
* メインエントリ。\r
try{\r
DocumentBuilder builder = factory.newDocumentBuilder();\r
LANDDEF_LIST = LandDef.buildLandDefList(builder);\r
- }catch(RuntimeException e){\r
- throw e;\r
- }catch(Exception e){\r
+ }catch(ParserConfigurationException e){\r
+ throw new ExceptionInInitializerError(e);\r
+ }catch(IOException e){\r
+ throw new ExceptionInInitializerError(e);\r
+ }catch(SAXException e){\r
throw new ExceptionInInitializerError(e);\r
}\r
}\r
\r
try{\r
dump(writer, landDef, vid);\r
- }catch(RuntimeException e){\r
- throw e;\r
- }catch(Exception e){\r
- e.printStackTrace(System.err);\r
- errprintln("処理を続行できません。");\r
- exit(1);\r
- return;\r
+ }catch(IOException e){\r
+ abortWithException(e);\r
+ }catch(DecodeException e){\r
+ abortWithException(e);\r
+ }catch(HtmlParseException e){\r
+ abortWithException(e);\r
}\r
\r
return;\r
}\r
\r
/**\r
+ * 例外によるアプリ終了。\r
+ * @param e 例外\r
+ */\r
+ private static void abortWithException(Exception e){\r
+ e.printStackTrace(System.err);\r
+ errprintln("処理を続行できません。");\r
+ exit(1);\r
+ return;\r
+ }\r
+\r
+ /**\r
* 主処理。人狼サーバからXHTMLを読み込み。XMLで出力。\r
* @param writer 出力先\r
* @param landDef 国情報\r