Егер нұсқаулық немесе өрнек синтаксистік тұрғыда дұрыс жазылса да, оны орындау барысында қателіктер пайда болуы мүмкін. Орындау барысында пайда болған қателіктер фатальді емес және оларды түзетуге болады. Ережеден тыс жағдайлардың көбін программа өңдемейді және қате туралы хабарлама жазылады. Мысалы:
оh=10/0 #Осы жерде қателік бар
Белгілі бір ережеден тыс жағдайларды өндейтін программа жазуымызға болады. Алдымен try тармағы орындалады (try және except түйінді сөздерінің арасында орналасқан нұсқаулар), егер ережеден тыс жағдайлар пайда болмаса, онда except тармағынан аттап өтіледі және try нұсқауын орындау аяқталады.
Try нұсқауында әртүрлі ережеден тыс жағдайларды өңдеуге арналған саны бірден артық except тармақтары болуы мүмкін. Except-тің соңғы тармағында ережеден тыс жағдай түсірілуі мүмкін – бұл жағдайда ережеден тыс жағдайлардың барлығы да өңделеді.
try: # Мынаны орындап көрейік...
оh = 10 / 0 except(ZeroDivisionError): print("Санды нөлге бөлуге болмайды")
Нәтижесінде мына жауап экранға шығады:
Санды нөлге бөлуге болмайды
Raise нұсқаулығы көмегімен программашы ержеден тыс жағдайды генерациялай алады. raise аргументі ретінде класс данасы қолданылады. Класс ережеден тыс жағдай типін көрсетеді; конструкторға берілетін аргумент ережеден тыс жағдайдың пайда болу «детальдарын» сипаттайды.
raise NameError('MyException')
Нәтижесі:
NameError: MyException
Объектіге бағытталған программалау (ОББ) дегеніміз – жалпы алғанда, негізгі тұжырымдары объектілер мен кластар болып табылатын программалау тілі. Осы тұжырым тұрғысынан қарасақ, класс дегеніміз – деректердің жиынтығы. Кластарды қолдану программалауды жеңілдету үшін абстрактілі тұрғыда қарауға мүмкіндік береді. Осы тұжырымның негізгі ұғымдары: Полиморфизм: әртүрлі объектілерде бір операция әртүрлі функциялар орындауы мүмкін.
Инкапсуляция: оның көмегімен объектінің ішіндегі кейбір артық ішкі ақпаратты сыртқы ортадан жасыруға болады.