From 312b7204a535ddf15455cfc31d19d9b6c49df3c4 Mon Sep 17 00:00:00 2001 From: "Kensan (Enterprise IT Team)" Date: Wed, 15 Apr 2026 15:00:29 +0900 Subject: [PATCH] =?UTF-8?q?fix(lint):=20PSAvoidUsingEmptyCatchBlock=207?= =?UTF-8?q?=E4=BB=B6=E3=82=92=E4=BF=AE=E6=AD=A3=20(closes=20#130)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 空 catch ブロックに Write-Debug を追加し、PSScriptAnalyzer 警告を解消。 通常実行では出力されず、-Debug フラグ使用時のみデバッグ情報を表示する。 Pester 449/449 pass 確認済み。 変更概要: - scripts/lib/AgentTeams.psm1:154 — rules 解析失敗時の Write-Debug 追加 - scripts/lib/LogManager.psm1:79 — Stop-Transcript 失敗時の Write-Debug 追加 - scripts/lib/LauncherCommon.psm1:823 — JSON 不正行スキップ時の Write-Debug 追加 - scripts/lib/LauncherCommon.psm1:1324 — 音声クローズ失敗時の Write-Debug 追加 - scripts/lib/LauncherCommon.psm1:1329 — 音声再生失敗時の Write-Debug 追加 - scripts/main/Start-ClaudeCode.ps1:424 — Mutex 解放失敗時の Write-Debug 追加 - scripts/test/Test-AllTools.ps1:42 — バージョン取得失敗時の Write-Debug 追加 Co-Authored-By: Claude Sonnet 4.6 --- scripts/lib/AgentTeams.psm1 | 2 +- scripts/lib/LauncherCommon.psm1 | 4 +++- scripts/lib/LogManager.psm1 | 2 +- scripts/main/Start-ClaudeCode.ps1 | 2 +- scripts/test/Test-AllTools.ps1 | 1 + 5 files changed, 7 insertions(+), 4 deletions(-) diff --git a/scripts/lib/AgentTeams.psm1 b/scripts/lib/AgentTeams.psm1 index ccfb222f..dd080fc8 100644 --- a/scripts/lib/AgentTeams.psm1 +++ b/scripts/lib/AgentTeams.psm1 @@ -152,7 +152,7 @@ function Get-BacklogRuleMatch { } } catch { - # rules file parse error - use defaults + Write-Debug "Agent rules file parse error (using defaults): $_" } return $result diff --git a/scripts/lib/LauncherCommon.psm1 b/scripts/lib/LauncherCommon.psm1 index 59cce17d..af4c2373 100644 --- a/scripts/lib/LauncherCommon.psm1 +++ b/scripts/lib/LauncherCommon.psm1 @@ -821,6 +821,7 @@ function Get-LauncherMetadataEntries { $entries.Add(($line | ConvertFrom-Json)) } catch { + Write-Debug "Skipping malformed JSON history entry: $_" } if ($entries.Count -ge $MaxCount) { break @@ -1321,12 +1322,13 @@ public class LauncherWinMM { $localAlias = $alias $null = [System.Threading.Tasks.Task]::Run([Action]{ Start-Sleep -Milliseconds 8000 - try { [void][LauncherWinMM]::mciSendString("close $localAlias", $null, 0, [IntPtr]::Zero) } catch {} + try { [void][LauncherWinMM]::mciSendString("close $localAlias", $null, 0, [IntPtr]::Zero) } catch { Write-Debug "Audio close failed for '$localAlias': $_" } }) } } catch { # 音声再生の失敗はサイレントに無視(起動をブロックしない) + Write-Debug "Audio playback failed (suppressed to avoid blocking startup): $_" } } Export-ModuleMember -Function Invoke-LauncherNotificationSound diff --git a/scripts/lib/LogManager.psm1 b/scripts/lib/LogManager.psm1 index 181ce090..1a8c562b 100644 --- a/scripts/lib/LogManager.psm1 +++ b/scripts/lib/LogManager.psm1 @@ -76,7 +76,7 @@ function Stop-SessionLog { } # Transcript 停止 - try { Stop-Transcript -ErrorAction SilentlyContinue } catch { } + try { Stop-Transcript -ErrorAction SilentlyContinue } catch { Write-Debug "Stop-Transcript skipped (no active transcript): $_" } $script:LoggingActive = $false diff --git a/scripts/main/Start-ClaudeCode.ps1 b/scripts/main/Start-ClaudeCode.ps1 index 4cda2daf..78c958b0 100644 --- a/scripts/main/Start-ClaudeCode.ps1 +++ b/scripts/main/Start-ClaudeCode.ps1 @@ -421,7 +421,7 @@ finally { Invoke-LauncherNotificationSound -Tool 'claude' -Config $Config -Wait $true # インスタンスロック解放 if ($null -ne $instanceMutex) { - try { $instanceMutex.ReleaseMutex() } catch { } + try { $instanceMutex.ReleaseMutex() } catch { Write-Debug "ReleaseMutex failed (mutex may already be released): $_" } $instanceMutex.Dispose() } } diff --git a/scripts/test/Test-AllTools.ps1 b/scripts/test/Test-AllTools.ps1 index 464bc4a4..d434d528 100644 --- a/scripts/test/Test-AllTools.ps1 +++ b/scripts/test/Test-AllTools.ps1 @@ -40,6 +40,7 @@ function Get-CommandVersionLine { } } catch { + Write-Debug "Version detection failed for '$Command': $_" } return $null