Skip to content

Commit 6b4b315

Browse files
tarepanHiroshiba
andauthored
refactor: 本来は到達しないはずのコードが実行された時用の共通エラーを追加 (#1747)
Co-authored-by: Hiroshiba <[email protected]>
1 parent d4b6909 commit 6b4b315

File tree

5 files changed

+13
-5
lines changed

5 files changed

+13
-5
lines changed

test/benchmark/engine_preparation.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
from voicevox_engine.tts_pipeline.song_engine import make_song_engines_from_cores
1717
from voicevox_engine.tts_pipeline.tts_engine import make_tts_engines_from_cores
1818
from voicevox_engine.user_dict.user_dict_manager import UserDictionary
19+
from voicevox_engine.utility.error_utility import UnreachableError
1920
from voicevox_engine.utility.path_utility import engine_manifest_path, get_save_dir
2021

2122

@@ -71,4 +72,4 @@ def generate_client(
7172
elif server == "localhost":
7273
return httpx.Client(base_url="http://localhost:50021")
7374
else:
74-
raise Exception(f"{server} はサポートされていないサーバータイプです")
75+
raise UnreachableError(server)

test/e2e/test_disable_api.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from fastapi.testclient import TestClient
66

77
from voicevox_engine.app.application import generate_app
8+
from voicevox_engine.utility.error_utility import UnreachableError
89

910

1011
# clientとschemaとパスを受け取ってリクエストを送信し、レスポンスが403であることを確認する
@@ -23,7 +24,7 @@ def _assert_request_and_response_403(
2324
case "delete":
2425
response = client.delete(path)
2526
case _:
26-
raise ValueError("Never")
27+
raise UnreachableError(method)
2728

2829
assert response.status_code == 403, f"{method} {path} が403を返しませんでした"
2930

voicevox_engine/metas/MetasStore.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
StyleId,
1616
)
1717
from voicevox_engine.resource_manager import ResourceManager, ResourceManagerError
18+
from voicevox_engine.utility.error_utility import UnreachableError
1819

1920
ResourceFormat: TypeAlias = Literal["base64", "url"]
2021

@@ -270,4 +271,4 @@ def filter_characters_and_styles(
270271
sing_character.talk_styles = []
271272
return sing_characters
272273
else:
273-
raise Exception(f"'{talk_or_sing}' は不正な style_type です")
274+
raise UnreachableError(talk_or_sing)

voicevox_engine/tts_pipeline/text_analyzer.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from itertools import groupby
66
from typing import Any, Final, Literal, Self, TypeAlias, TypeGuard
77

8+
from ..utility.error_utility import UnreachableError
89
from .model import AccentPhrase, Mora
910
from .mora_mapping import mora_phonemes_to_mora_kana
1011
from .phoneme import Consonant, Sil, Vowel
@@ -214,8 +215,7 @@ def from_labels(cls, labels: list[_Label]) -> Self:
214215
moras.append(_generate_mora(consonant=consonant, vowel=vowel))
215216

216217
if vowel is None:
217-
msg = "母音が取得できません。"
218-
raise RuntimeError(msg)
218+
raise UnreachableError()
219219

220220
if vowel.accent_position is None:
221221
msg = "アクセント位置が指定されていません。"
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
"""エラーに関するユーティリティ。"""
2+
3+
4+
class UnreachableError(Exception):
5+
"""到達しないはずのコードに到達した。"""

0 commit comments

Comments
 (0)