.exceptionHandler(t -> { t.printStackTrace(); asyncFile.close();
@Test public void testArrayMappingError() { List<Object> values = new ArrayList<>(); List<Throwable> errors = new ArrayList<>(); JsonParser.newParser().arrayValueMode().handler(event -> values.add(event.mapTo(TheObject.class))).exceptionHandler(errors::add).write(Buffer.buffer("[]")).end(); assertEquals(Collections.emptyList(), values); assertEquals(1, errors.size()); try { JsonParser.newParser().arrayValueMode().handler(event -> values.add(event.mapTo(TheObject.class))).write(Buffer.buffer("[]")).end(); fail(); } catch (DecodeException expected) { } assertEquals(Collections.emptyList(), values); assertEquals(1, errors.size()); }
@Test public void testObjectMappingError() { List<Object> values = new ArrayList<>(); List<Throwable> errors = new ArrayList<>(); JsonParser.newParser().objectValueMode().handler(event -> values.add(event.mapTo(TheObject.class))).exceptionHandler(errors::add).write(Buffer.buffer("{\"destination\":\"unknown\"}")).end(); assertEquals(Collections.emptyList(), values); assertEquals(1, errors.size()); try { JsonParser.newParser().objectValueMode().handler(event -> values.add(event.mapTo(TheObject.class))).write(Buffer.buffer("{\"destination\":\"unknown\"}")).end(); fail(); } catch (DecodeException expected) { } assertEquals(Collections.emptyList(), values); assertEquals(1, errors.size()); }
@Test public void parseNumberFormatException() { Buffer data = Buffer.buffer(Long.MAX_VALUE + "0"); try { JsonParser.newParser().handler(val -> {}).write(data).end(); fail(); } catch (DecodeException expected) { } List<Throwable> errors = new ArrayList<>(); JsonParser.newParser().exceptionHandler(errors::add).handler(val -> {}).write(data).end(); assertEquals(1, errors.size()); }
@Test public void parseUnfinished() { Buffer data = Buffer.buffer("{\"un\":\"finished\""); try { JsonParser parser = JsonParser.newParser(); parser.handle(data); parser.end(); fail(); } catch (DecodeException expected) { } JsonParser parser = JsonParser.newParser(); List<Throwable> errors = new ArrayList<>(); parser.exceptionHandler(errors::add); parser.handle(data); parser.end(); assertEquals(1, errors.size()); }
@Override public WriteStream<Buffer> exceptionHandler(Handler<Throwable> handler) { parser.exceptionHandler(handler); return this; }
@Test public void testObjectMappingError() { List<Object> values = new ArrayList<>(); List<Throwable> errors = new ArrayList<>(); JsonParser.newParser().objectValueMode().handler(event -> values.add(event.mapTo(TheObject.class))).exceptionHandler(errors::add).write(Buffer.buffer("{\"destination\":\"unknown\"}")).end(); assertEquals(Collections.emptyList(), values); assertEquals(1, errors.size()); try { JsonParser.newParser().objectValueMode().handler(event -> values.add(event.mapTo(TheObject.class))).write(Buffer.buffer("{\"destination\":\"unknown\"}")).end(); fail(); } catch (DecodeException expected) { } assertEquals(Collections.emptyList(), values); assertEquals(1, errors.size()); }
@Test public void testArrayMappingError() { List<Object> values = new ArrayList<>(); List<Throwable> errors = new ArrayList<>(); JsonParser.newParser().arrayValueMode().handler(event -> values.add(event.mapTo(TheObject.class))).exceptionHandler(errors::add).write(Buffer.buffer("[]")).end(); assertEquals(Collections.emptyList(), values); assertEquals(1, errors.size()); try { JsonParser.newParser().arrayValueMode().handler(event -> values.add(event.mapTo(TheObject.class))).write(Buffer.buffer("[]")).end(); fail(); } catch (DecodeException expected) { } assertEquals(Collections.emptyList(), values); assertEquals(1, errors.size()); }
public io.vertx.rxjava.core.parsetools.JsonParser exceptionHandler(Handler<Throwable> handler) { delegate.exceptionHandler(handler); return this; }
public io.vertx.rxjava.core.parsetools.JsonParser exceptionHandler(Handler<Throwable> handler) { delegate.exceptionHandler(handler); return this; }
@Test public void parseUnfinished() { Buffer data = Buffer.buffer("{\"un\":\"finished\""); try { JsonParser parser = JsonParser.newParser(); parser.handle(data); parser.end(); fail(); } catch (DecodeException expected) { } JsonParser parser = JsonParser.newParser(); List<Throwable> errors = new ArrayList<>(); parser.exceptionHandler(errors::add); parser.handle(data); parser.end(); assertEquals(1, errors.size()); }
@Test public void parseNumberFormatException() { Buffer data = Buffer.buffer(Long.MAX_VALUE + "0"); try { JsonParser.newParser().handler(val -> {}).write(data).end(); fail(); } catch (DecodeException expected) { } List<Throwable> errors = new ArrayList<>(); JsonParser.newParser().exceptionHandler(errors::add).handler(val -> {}).write(data).end(); assertEquals(1, errors.size()); }