跳到主內容

switch_case_completes_normally

該“案例”不應正常完成。

描述

#

switch 語句中某個 case 標籤後的語句可能會落入(fall through)下一個 casedefault 標籤時,分析器會產生此診斷資訊。

示例

#

以下程式碼會產生此診斷資訊,因為值為零 (0) 的 case 標籤落入(falls through)了 default 語句

dart
void f(int a) {
  switch (a) {
    case 0:
      print(0);
    default:
      return;
  }
}

常見修復方法

#

改變控制流,使 case 不會落入。有幾種方法可以做到這一點,包括在當前語句列表的末尾新增以下之一

  • 一個 return 語句,
  • 一個 throw 表示式,
  • 一個 break 語句,
  • 一個 continue,或
  • 呼叫返回型別為 Never 的函式或方法。