Junior
Pythonдогу ката кетирүүлөрдү иштетүүнүн өзгөчөлүктөрү кандай?
sobes.tech AI
AIден жооп
Pythonдеги чыгымдар — бул программаны иштетүүнүн стандарттык жүрүшүн бузган окуялар. Алар объекттер болуп саналат жана каталардын белгилери.
Өзгөчөлүктөрү:
- Чыгымдардын мурасчылыгы: Бардык түзүлгөн чыгымдар класстар болуп саналат жана мурас аркылуу негизги класс
BaseExceptionнегизинде уюштурулган.# Мисал мурасчылык # BaseException -> Exception -> StandardError -> ... # Exception -> ArithmeticError -> ZeroDivisionError try...except...блоктору: Чыгымдарды иштетүүнүн негизги механизми.try: # Код, ал чыгымга себеп болушу мүмкүн result = 10 / 0 except ZeroDivisionError: # Так чыгымды иштетүү print("Нөлгө бөлүү!") except Exception as e: # Башка чыгымдарды иштетүү print(f"Ката пайда болду: {e}")- Көптөгөн
exceptблоктору: Ар түрдүү чыгымдарга ар башка иштетүү мүмкүнчүлүгү.try: # Код value = int("abc") except ValueError: print("Чыгынын форматы туура эмес.") except TypeError: print("Маалымат түрү туура эмес.") elseблогу: Эгерtryблогу катасыз аякса, ишке ашат.try: # Код result = 10 / 2 except ZeroDivisionError: print("Нөлгө бөлүү!") else: print("Операция ийгиликтүү аяктады.")finallyблогу: Эч качан токтотулбайт, каталар болобу же жокпу. Ресурстарды бошотуу үчүн колдонулат.file = None try: file = open("myfile.txt", "r") # Файлдан окуу except FileNotFoundError: print("Файл табылган жок.") finally: if file: file.close() # Файлды кепилденген түрдө жабууraiseоператору: Ачык чыгым чакырууга колдонулат.def divide(a, b): if b == 0: raise ZeroDivisionError("Нөлгө бөлүүгө болбойт") return a / b try: divide(10, 0) except ZeroDivisionError as e: print(f"Ката: {e}")- Ар бирдиктүү чыгымдар: Өзүңүздүн чыгым класстарыңызды түзө аласыз, аларды
Exceptionже башка бар класстардан мурас кылуу менен.class CustomError(Exception): pass def process_data(data): if not data: raise CustomError("Маалымат бош") try: process_data([]) except CustomError as e: print(f"Ката: {e}") - Контексттик менеджер
withколдонуу менен чыгымдарды иштетүү: Бул ресурстар менен ишти жеңилдетет, аларды ачык жабуу талап кылынат (мисалы, файлдар).try: with open("myfile.txt", "r") as file: # Файл менен иштөө content = file.read() except FileNotFoundError: print("Файл табылган жок.") # Файл автоматтык түрдө `with` блогунан чыгуу менен жабылат - Чыгымдардын чынжырлануусу: Чыгымдарды иштетүү учурунда алдыңкы чыгым тууралуу маалымат сакталат (жеке же
raise Exception from another_exceptionколдонуу менен).
Бул өзгөчөлүктөр Pythonдо каталардын иштетүүнүн ийкемдүү жана күчтүү механизмин камсыз кылат, ал ишенимдүү жана каталарга туруштук берүүчү программаларды түзүүгө мүмкүндүк берет.