From e583112899cbea7494ffdd73d7de380dd5f808c4 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Wed, 10 Jun 2026 00:54:22 +0900 Subject: feat(phase-c): resolve exception-handling phase-b TODOs * Catch specific exception types instead of broad/placeholder handling. * Drop the shim Countable trait. --- crates/shirabe/src/repository/vcs/git_bitbucket_driver.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'crates/shirabe/src/repository/vcs/git_bitbucket_driver.rs') diff --git a/crates/shirabe/src/repository/vcs/git_bitbucket_driver.rs b/crates/shirabe/src/repository/vcs/git_bitbucket_driver.rs index de1f814..7eb253a 100644 --- a/crates/shirabe/src/repository/vcs/git_bitbucket_driver.rs +++ b/crates/shirabe/src/repository/vcs/git_bitbucket_driver.rs @@ -707,7 +707,6 @@ impl GitBitbucketDriver { match self.inner.get_contents(url) { Ok(r) => Ok(r), Err(e) => { - // TODO(phase-b): only handle TransportException let mut bitbucket_util = Bitbucket::new( self.inner.io.clone(), self.inner.config.clone(), @@ -772,7 +771,9 @@ impl GitBitbucketDriver { match self.setup_fallback_driver(&self.generate_ssh_url()) { Ok(()) => Ok(true), Err(e) => { - // TODO(phase-b): only catch RuntimeException + // TODO(phase-c): PHP catches \RuntimeException (and all its subclasses), letting + // other exceptions propagate without this cleanup. Modeling that precisely needs the + // PHP exception hierarchy, which is intentionally not reproduced (see CLAUDE.md). self.fallback_driver = None; self.inner.io.write_error(&format!( -- cgit v1.3.1