Sobes.tech
Middle

Kas ir Never tips Dart valodā?

sobes.tech AI

Atbilde no AI

Never tips ir indikator, ka izteiksme nekad nesasniegs veiksmīgu noslēgumu. To izmanto funkcijās un metodēs, kas vai nu izmet izņēmumu, vai ieiet bezgalīgā ciklā.

Piemēri:

  • Funkcija, kas izmet izņēmumu:

    Never _throwError(String message) {
      // Izmet izņēmumu, funkcija nekad neatgriež vērtību
      throw StateError(message);
    }
    
  • Funkcija ar bezgalīgu ciklu:

    Never _infiniteLoop() {
      // Iet bezgalīgā ciklā, funkcija nekad nebeidzas
      while (true) {
        // Darīt kaut ko
      }
    }
    

Galvenā Never priekšrocība ir tā, ka tā palīdz kompilatoram saprast, ka kods pēc šādas funkcijas vai metodes izsaukuma ir nepieejams, kas ļauj veikt statisko analīzi, lai atklātu potenciālas kļūdas, piemēram, nepieejamu kodu un nepareizu kļūdu apstrādi.

Atšķirībā no void, kas norāda, ka funkcija neatgriež vērtību (bet veiksmīgi beidzas), Never norāda, ka funkcija nekad nebeigsies principā.

// Funkcija, kas atgriež void (veic veiksmīgu beigu, bet bez vērtības)
void doSomething() {
  print('Darīt kaut ko');
}

// Funkcija, kas atgriež Never (nekad neveic veiksmīgu beigu)
Never crashAndBurn() {
  throw 'O, nē!';
}

Never tips ir apakštipa (bottom type), tas ir, tas ir jebkura cita tipa apakštipa. Tas ļauj izmantot funkciju, kas atgriež Never, vietās, kur gaidīts jebkurš cits tips.