0

我正在做关于软件乐谱阅读器的项目,在这一部分中,我想将 musicxmlparser 转换为 staccato/midi 但在此之前我编写了一些代码

public static void main(String[] args) throws InvalidMidiDataException, IOException {
        MusicXmlParser parser = new MusicXmlParser();
        StaccatoParserListener listener = new StaccatoParserListener();
        parser.addParserListener(listener);
        parser.parse(new File("C:\\Users\\ASUS\\Documents\\Java Project\\ActorPreludeSample.xml"));
    }

我得到了错误

线程“主”java.lang.RuntimeException 中的异常:无法编译的源代码 - 未报告的异常 javax.xml.parsers.ParserConfigurationException;必须在 jfugue.ParserDemo2.main(ParserDemo2.java:18) 被捕获或声明被抛出

这个错误是什么意思?

4

1 回答 1

0

该错误告诉您其中一种方法正在抛出 ParserConfigurationException(提示:它是 MusicXmlParser 构造函数),您要么需要将该代码包装在 try/catch 块中,要么从 main() 方法的声明中抛出代码。

您会发现 parser.parse() 还会引发几个异常:ValidityException 和 ParsingExcecption。

对于一个简单的示例,解决此问题的最简单方法是在方法声明中抛出异常:

public static void main(String[] args) throws InvalidMidiDataException, IOException, ParserConfigurationException, ValidityException, ParsingException {
于 2016-05-16T04:26:56.170 回答