### 17.6 P3 — 배치 발행자가 `CompletionStage` 를 돌려주면서 동기 예외를 던진다 ```java public CompletionStage publish(List> requests, BatchPublishOptions options) { … if (requests.size() > options.maxBatchSize()) { throw new MessageTooLargeException("BATCH_COUNT_EXCEEDED", …); // ← 스테이지가 아니라 던진다 } ``` 같은 클래스가 자기 의존 대상에 대해서는 정확히 이 형태를 방어한다. ```java } catch (RuntimeException synchronousFailure) { // A publisher that validates eagerly throws instead of returning a failed stage. Converting