Skip to content

Commit d57edbd

Browse files
committed
fix(XbelSerializer#deserialize): Catch errors when parsing XML
see #1997 Signed-off-by: Marcel Klehr <[email protected]>
1 parent 28680c2 commit d57edbd

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/lib/serializers/Xbel.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import Serializer from '../interfaces/Serializer'
22
import { Bookmark, Folder, ItemLocation } from '../Tree'
33
import { XMLParser, XMLBuilder } from 'fast-xml-parser'
4+
import Logger from '../Logger'
45

56
class XbelSerializer implements Serializer {
67
serialize(folder: Folder<typeof ItemLocation.SERVER>) {
@@ -16,7 +17,13 @@ class XbelSerializer implements Serializer {
1617
ignoreAttributes: false,
1718
parseTagValue: false,
1819
})
19-
const xmlObj = parser.parse(xbel)
20+
let xmlObj
21+
try {
22+
xmlObj = parser.parse(xbel)
23+
} catch (e) {
24+
Logger.log('Parse Error: ' + e.message)
25+
throw new Error('Parse Error: ' + e.message)
26+
}
2027

2128
if (!Array.isArray(xmlObj[0].xbel)) {
2229
throw new Error(

0 commit comments

Comments
 (0)