diff --git a/docs/mkdocs/docs/api/basic_json_view/dump.md b/docs/mkdocs/docs/api/basic_json_view/dump.md index 2fd64a2ce..112716852 100644 --- a/docs/mkdocs/docs/api/basic_json_view/dump.md +++ b/docs/mkdocs/docs/api/basic_json_view/dump.md @@ -48,8 +48,11 @@ Strong exception safety: if an exception is thrown, there are no changes to the May throw `#!cpp std::bad_alloc` if allocating the output string fails. Unlike [`BasicJsonType::dump`](../basic_json/dump.md), there is no `error_handler` parameter and no -[`type_error.316`](../../home/exceptions.md#jsonexceptiontype_error316): the view only ever holds text the parser -already validated as UTF-8, so there is nothing to replace or ignore. +[`type_error.316`](../../home/exceptions.md#jsonexceptiontype_error316): the parser validated the text the view +holds as UTF-8, so there is nothing to replace or ignore. Only a document loaded with +[`image_check::bounds` or `image_check::none`](../basic_json_document/load.md#image_check) can still throw it: these do +not check the strings, so `dump()` writes such a string as it is, which can be invalid UTF-8 or invalid JSON, and +`dump()` with `ensure_ascii` set to `#!cpp true` throws `type_error.316` for invalid UTF-8. ## Complexity