Skip to content

Assertions

Assertions στη C

Δείτε τα παραδείγματα με assert() και static_assert() στην παράγραφο 15.2 του Τζάλλας, Α., Γκόγκος, Χ., & Τσούλος, Ι. (2024). Μια σύγχρονη προσέγγιση στη γλώσσα C [Προπτυχιακό εγχειρίδιο]. Κάλλιπος, Ανοικτές Ακαδημαϊκές Εκδόσεις.

Assertions στην Python

assert_example.py
1
2
3
4
5
6
def divide(a, b):
    assert b != 0, "Denominator cannot be zero!"
    return a / b

print(divide(10, 2))  # 5.0
print(divide(10, 0))  # ZeroDivisionError: division by zero

Ενεργοποίηση του ελέγχου που ορίζεται στο assert μέσα στον κώδικα:

$ python assert_example.py
5.0
Traceback (most recent call last):
  File ".../assert_example.py", line 6, in <module>
    print(divide(10, 0))  # AssertionError: Denominator cannot be zero!
  File ".../assert_example.py", line 2, in divide
    assert b != 0, "Denominator cannot be zero!"
AssertionError: Denominator cannot be zero!

Απενεργοποίηση του ελέγχου που ορίζεται στο assert μέσα στον κώδικα, κατά την μεταγλώττιση/εκτέλεση:

$ python -Ο assert_example.py
5.0
Traceback (most recent call last):
  File ".../assert_example.py", line 6, in <module>
    print(divide(10, 0))  # AssertionError: Denominator cannot be zero!
  File ".../assert_example.py", line 3, in divide
    return a / b
ZeroDivisionError: division by zero