You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kw...@apache.org on 2026/04/15 09:28:02 UTC
(maven-doxia-converter) branch master updated: Emit file name when exception happens during convert (#133)
This is an automated email from the ASF dual-hosted git repository.
kwin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-doxia-converter.git
The following commit(s) were added to refs/heads/master by this push:
new de5c4a1 Emit file name when exception happens during convert (#133)
de5c4a1 is described below
commit de5c4a149d847ff4a609e690c3ef6a8117f91e00
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Wed Apr 15 11:27:56 2026 +0200
Emit file name when exception happens during convert (#133)
Don't swallow underlying exception during Sink.close()
---
.../org/apache/maven/doxia/DefaultConverter.java | 27 ++++++++++++++--------
1 file changed, 17 insertions(+), 10 deletions(-)
diff --git a/src/main/java/org/apache/maven/doxia/DefaultConverter.java b/src/main/java/org/apache/maven/doxia/DefaultConverter.java
index 2f806db..6986815 100644
--- a/src/main/java/org/apache/maven/doxia/DefaultConverter.java
+++ b/src/main/java/org/apache/maven/doxia/DefaultConverter.java
@@ -484,9 +484,10 @@ public class DefaultConverter implements Converter {
} catch (IOException e) {
throw new ConverterException("IOException: " + e.getMessage(), e);
}
- LOGGER.debug("Sink used: {}", sink.getClass().getName());
-
- parse(parser, input.getReader(), sink);
+ try (Sink s = sink) {
+ LOGGER.debug("Sink used: {}", sink.getClass().getName());
+ parse(parser, input.getReader(), s);
+ }
} finally {
stopPlexusContainer();
}
@@ -623,8 +624,12 @@ public class DefaultConverter implements Converter {
}
LOGGER.debug("Sink used: {}", sink.getClass().getName());
- parse(parser, reader, sink);
-
+ try (Sink s = sink) {
+ parse(parser, reader, s);
+ } catch (Exception e) {
+ throw new ConverterException(
+ "Error converting file \"" + inputFile.getAbsolutePath() + "\": " + e.getMessage(), e);
+ }
if (formatOutput && output.getFormat().isXml()) {
try (Reader r = ReaderFactory.newXmlReader(outputFile);
Writer w = WriterFactory.newXmlWriter(outputFile)) {
@@ -659,11 +664,13 @@ public class DefaultConverter implements Converter {
private void parse(Parser parser, Reader reader, Sink sink) throws ConverterException {
try (Reader r = reader) {
parser.parse(r, sink);
- } catch (ParseException | IOException e) {
- throw new ConverterException("ParseException: " + e.getMessage(), e);
- } finally {
- sink.flush();
- sink.close();
+ } catch (ParseException e) {
+ throw new ConverterException(
+ "ParseException in line " + e.getLineNumber() + ", column " + e.getColumnNumber() + ": "
+ + e.getMessage(),
+ e);
+ } catch (IOException e) {
+ throw new ConverterException("IOException: " + e.getMessage(), e);
}
}