logo

Python | Помилка твердження

Помилка твердження
Твердження — це концепція програмування, яка використовується під час написання коду, де користувач оголошує умову істинною стверджувати перед запуском модуля. Якщо умова є правда , елемент керування просто переходить до наступного рядка коду. У випадку, якщо так помилковий програма припиняє роботу і повертається AssertionError Виняток.

Функція стверджувати Оператор є однаковим незалежно від мови, якою він реалізований, це незалежне від мови поняття, лише синтаксис змінюється залежно від мови програмування.



Синтаксис твердження:
стверджувати умова, повідомлення про помилку (необов'язково)

Приклад 1: помилка твердження з error_message.



Python3






# AssertionError with error_message.> x>=> 1> y>=> 0> assert> y !>=> 0>,>'Invalid Operation'> # denominator can't be 0> print>(x>/> y)>

>

такі сайти, як coomeet
>

Вихід:

java boolean
Traceback (most recent call last): File '/home/bafc2f900d9791144fbf59f477cd4059.py', line 4, in assert y!=0, 'Invalid Operation' # denominator can't be 0 AssertionError: Invalid Operation>

Обробник винятків за замовчуванням у Python виведе error_message, написане програмістом, або просто обробить помилку без жодного повідомлення.
Обидва способи дійсні.

Обробка винятку AssertionError:
AssertionError успадковується від класу Exception, коли цей виняток виникає та викликає AssertionError, є два способи обробки: або користувач, або обробник винятку за замовчуванням.
У прикладі 1 ми побачили, як виконує роботу стандартний обробник винятків.
Тепер давайте розберемося з цим вручну.

Приклад 2

Python3




# Handling it manually> try>:> >x>=> 1> >y>=> 0> >assert> y !>=> 0>,>'Invalid Operation'> >print>(x>/> y)> # the errror_message provided by the user gets printed> except> AssertionError as msg:> >print>(msg)>

>

>

Вихід:

Invalid Operation>

Практичні застосування.
Приклад 3: Тестування програми.

Python3


покращений цикл java



# Roots of a quadratic equation> import> math> def> ShridharAcharya(a, b, c):> >try>:> >assert> a !>=> 0>,>'Not a quadratic equation as coefficient of x ^ 2 can't be 0'> >D>=> (b>*> b>-> 4> *> a>*>c)> >assert> D>>=> 0>,>'Roots are imaginary'> >r1>=> (>->b>+> math.sqrt(D))>/>(>2> *> a)> >r2>=> (>->b>-> math.sqrt(D))>/>(>2> *> a)> >print>(>'Roots of the quadratic equation are :'>, r1, '', r2)> >except> AssertionError as msg:> >print>(msg)> ShridharAcharya(>->1>,>5>,>->6>)> ShridharAcharya(>1>,>1>,>6>)> ShridharAcharya(>2>,>12>,>18>)>

>

>

Вихід:

Roots of the quadratic equation are : 2.0 3.0 Roots are imaginary Roots of the quadratic equation are : -3.0 -3.0>

Це приклад, щоб показати, як цей виняток зупиняє виконання програми, щойно умова assert стає False.

Інші корисні програми:

  • Перевірка значень параметрів.
  • Перевірка правильного введення/типу.
  • Виявлення зловживання інтерфейсом іншим програмістом.
  • Перевірка виводу функції.