From 27764ef4447a02e5c59bbcc7b4547838aae82d89 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Wed, 3 Jun 2026 21:05:15 +0900 Subject: refactor(downloader,repository,json): drop stale try/catch TODOs; fix svn getFileContent catch type Remove 17 TODO(phase-b) markers across exception-modeling sites where the existing single-Result closure+match already faithfully models the PHP try/catch (catch paths only rethrow, retry, log, or silently ignore and never yield a recoverable value, so a double Result is unnecessary). Fix SvnDriver::get_file_content to catch only RuntimeException (matching PHP's catch RuntimeException) and extract its .message instead of calling e.to_string() on the anyhow::Error, which would panic while the shim exception Display is unimplemented; other errors now propagate. Co-Authored-By: Claude Opus 4.8 --- crates/shirabe/src/json/json_file.rs | 2 -- 1 file changed, 2 deletions(-) (limited to 'crates/shirabe/src/json') diff --git a/crates/shirabe/src/json/json_file.rs b/crates/shirabe/src/json/json_file.rs index 364c2b9..33496df 100644 --- a/crates/shirabe/src/json/json_file.rs +++ b/crates/shirabe/src/json/json_file.rs @@ -102,7 +102,6 @@ impl JsonFile { /// @throws \RuntimeException /// @return mixed pub fn read(&mut self) -> Result { - // TODO(phase-b): use anyhow::Result> to model PHP try/catch let json: Option = match (|| -> Result> { if let Some(http_downloader) = &self.http_downloader { Ok(http_downloader @@ -216,7 +215,6 @@ impl JsonFile { let mut retries = 3; while retries > 0 { retries -= 1; - // TODO(phase-b): use anyhow::Result> to model PHP try/catch let attempt: Result<()> = (|| -> Result<()> { self.file_put_contents_if_modified( &self.path, -- cgit v1.3.1