Asercja to instrukcja, która przerywa program, gdy jego wynikiem jest fałsz. Assert jest zwykle używany do debugowania i sytuacji, które nigdy nie powinny mieć miejsca.
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć za pomocą faktów i cytatów, edytując ten post . Zamknięte 4 miesiące temu . Popraw to pytanie Na stronie comp.lang.c ++. Moderowana jest dyskusja na …
Debuguję z punktami przerwania i zdaję sobie sprawę z wywołania assert? Myślałem, że to tylko do testów jednostkowych. Co robi więcej niż punkt przerwania? Skoro mogę ustawić punkt przerwania, dlaczego powinienem używać funkcji Assert?
Odkryłem, że wydaje się, że są to dwa główne sposoby testowania wyjątków: Assert.Throws<Exception>(()=>MethodThatThrows()); [ExpectedException(typeof(Exception))] Który z nich byłby najlepszy? Czy jedna oferuje przewagę nad drugą? Czy jest to po prostu kwestia osobistych preferencji?
Jaki jest dobry sposób na stwierdzenie, że dwie tablice obiektów są równe, gdy kolejność elementów w tablicy jest nieistotna lub nawet podlega zmianie?
Czy istnieje sposób, aby dodać lub edytować wiadomość generowaną przez assert? Chciałbym użyć czegoś takiego assert(a == b, "A must be equal to B"); Następnie kompilator dodaje linię , czas i tak dalej ... Czy to możliwe?
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć za pomocą faktów i cytatów, edytując ten post . Zamknięte 2 lata temu . Popraw to pytanie Kiedy programując na podstawie umowy, funkcja lub metoda …
Czy mógłbyś podać przykład, w którym static_assert(...)('C ++ 11') elegancko rozwiązałoby problem? Znam się na czasie wykonywania assert(...). Kiedy powinienem preferować static_assert(...)zamiast zwykłego assert(...)? Poza boosttym jest coś BOOST_STATIC_ASSERT, co się nazywa , czy to jest to samo co static_assert(...)?
Mam tendencję do dodawania wielu asercji do mojego kodu C ++, aby ułatwić debugowanie bez wpływu na wydajność kompilacji wydania. Teraz assertjest czystym makrem C, zaprojektowanym bez uwzględnienia mechanizmów C ++. Z drugiej strony C ++ definiuje std::logic_error, który ma być wyrzucany w przypadkach, gdy występuje błąd w logice programu …
На этот вопрос есть ответы на Stack Overflow на русском : Есть ли возможность отключить assert? Jak wyłączyć asercje w Pythonie? Oznacza to, że jeśli twierdzenie zawiedzie, nie chcę, aby rzucało AssertionError, ale kontynuowało. Jak mogę to zrobić?
Chcę użyć słowa kluczowego Assert w moich aplikacjach na Androida, aby w niektórych przypadkach zniszczyć moją aplikację na emulatorze lub na moim urządzeniu podczas testowania. czy to możliwe? Wygląda na to, że emulator po prostu ignoruje moje zapewnienia.
Współpracownik kilka razy dodał polecenie assert w naszych bibliotekach w miejscach, w których użyłbym instrukcji if i wyrzucił wyjątek. (Nigdy wcześniej nie słyszałem o twierdzeniu). Oto przykład, jak go użył: assert('isset($this->records); /* Records must be set before this is called. */'); Zrobiłbym: if (!isset($this->records)) { throw new Exception('Records must be …
W obecnym stanie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi będą poparte faktami, referencjami lub ekspertyzą, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i prawdopodobnie ponownie otworzyć, odwiedź centrum pomocy, aby uzyskać …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.