From 5d9d8a5625248286ca10c3d629cc1cb13b56d3cb Mon Sep 17 00:00:00 2001 From: Anthony Stirling <77850077+Frooodle@users.noreply.github.com> Date: Tue, 3 Jun 2025 17:44:35 +0100 Subject: [PATCH] Fix error display for Split by Chapter (#3621) ## Summary - throw `IllegalArgumentException` when bookmark level is invalid or when a PDF has no outline - rely on global error handling so frontend shows the message ## Testing - `./gradlew build` ------ https://chatgpt.com/codex/tasks/task_b_683dc51dd31083288be3f9892889fa59 --- .../SPDF/controller/api/SplitPdfByChaptersController.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/stirling/software/SPDF/controller/api/SplitPdfByChaptersController.java b/src/main/java/stirling/software/SPDF/controller/api/SplitPdfByChaptersController.java index 80ec89738..94cf6aa6d 100644 --- a/src/main/java/stirling/software/SPDF/controller/api/SplitPdfByChaptersController.java +++ b/src/main/java/stirling/software/SPDF/controller/api/SplitPdfByChaptersController.java @@ -131,7 +131,7 @@ public class SplitPdfByChaptersController { Integer bookmarkLevel = request.getBookmarkLevel(); // levels start from 0 (top most bookmarks) if (bookmarkLevel < 0) { - return ResponseEntity.badRequest().body("Invalid bookmark level".getBytes()); + throw new IllegalArgumentException("Invalid bookmark level"); } sourceDocument = pdfDocumentFactory.load(file); @@ -139,7 +139,7 @@ public class SplitPdfByChaptersController { if (outline == null) { log.warn("No outline found for {}", file.getOriginalFilename()); - return ResponseEntity.badRequest().body("No outline found".getBytes()); + throw new IllegalArgumentException("No outline found"); } List bookmarks = new ArrayList<>(); try {