Elasticsearch.Net
或者NEST
可能抛出的异常有三种:
ElasticsearchClientException
这类异常是些已知的异常,它们要么是在请求管道中发生的异常(比如:达到最大重试次数、请求超时、错误的身份验证等等),要么是Elasticsearch本身返回的错误(比如:无法解析请求,错误的查询,缺少字段等等)。如果是Elasticsearch返回的错误,则响应上的ServerError
属性将包含返回的实际错误。内部异常将始终包含导致异常的原始异常信息。
UnexpectedElasticsearchClientException
这类异常是未知的异常,例如Elasticsearch的响应没有正确地反序列化。这些异常有时候可能是Bug所引发的。这类异常继承自ElasticsearchClientException
,所以不需要额外的catch块来捕获,但可以帮助你区分这两个异常类型。
Development time exceptions
这类异常是CLR异常,如ArgumentException
,ArgumentOutOfRangeException
等,当Elasticsearch.NET
或NEST
客户端中的API被误用时会抛出。这类异常的抛出与.ThrowExceptions()
设置无关,因为它们总是会被抛出。
发表评论
登录用户才能发表评论, 请 登 录 或者 注册