Συζήτηση
Γεια χαρά, Επισκέπτης
Όνομα χρήστη: Κωδικός: Να με θυμάσαι

ΘΕΜΑ: assert = raise?

assert = raise? 7 Χρόνια 3 Μήνες πριν #4068

  • tasos
  • Το Άβαταρ του/της tasos
  • Αποσυνδεμένος
  • p_____
  • Δημοσιεύσεις: 1
Επειδή ξεκίνησα πρόσφατα με python, μπορεί κάποιος να μου
πει αν η εντολή assert μπορεί να θεωρηθεί ειδική μορφή της raise ή είναι
διαφορετική;
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

assert = raise? 7 Χρόνια 3 Μήνες πριν #4081

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
Όχι είναι διαφορετικές. Η assert μπορεί να κάνει raise ένα exception αλλά όχι απαραιτήτως. Η raise κάνει πάντα raise το Exception που θα της πεις. Αυτό όσον αφορά την λειτουργία τους (όχι τη χρήση τους)

Googl-αρε για την assert και θα μάθεις περισσότερα. Πχ:
stackoverflow.com/questions/5142418/what...-of-assert-in-python

Εν γένει, να χρησιμοποιείς την assert μόνο όταν γράφεις tests. Όταν θες να κάνεις raise ένα exception στον κώδικά σου να το κάνεις explicitly. Δηλαδή:
if condition_that_requires_raising_a_ValueError:
    raise ValueError("message explaining the condition")

edit
Διάβασε και τη δεύτερη απάντηση εδώ (που είναι μάλλον και η πραγματική σου απορία):
stackoverflow.com/questions/944592/best-...rt?noredirect=1&lq=1
Asserts should be used to test conditions that should never happen. The purpose is to crash early in the case of a corrupt program state.

Exceptions should be used for errors that can conceivably happen, and you should almost always create your own Exception classes.
Τελευταία διόρθωση: 7 Χρόνια 3 Μήνες πριν από pmav99.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": tasos
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.512 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

Λίστα Ταχυδρομείου