Handing
āĻāĻ āĻ ংāĻļে āĻāĻĒāύি - āĻĢাāĻāϞ āĻ āĻāĻ্āϏāϏেāĻĒāĻļāύ āĻš্āϝাāύ্āĻĄেāϞিং āĻļিāĻāĻŦেāύ। āĻāĻĻুāĻোāĻ āĻĒাāĻāĻĨāύেāϰ āĻুāĻŦ āĻুāϰুāϤ্āĻŦāĻĒূāϰ্āĻŖ āĻāύ্āϏেāĻĒ্āĻ। āĻāĻŽāϰা āĻļিāĻāĻŦো, āĻিāĻাāĻŦে āĻĒাāĻāĻĨāύে āĻĢাāĻāϞ āύিā§ে āĻাāĻ āĻāϰāϤে āĻšā§ āĻāĻŦং āĻĢাāĻāϞেāϰ āĻŽāϧ্āϝে āĻিāĻাāĻŦে āĻŦিāĻিāύ্āύ āĻ āĻĒাāϰেāĻļāύ āϏāĻŽ্āĻĒূāϰ্āĻŖ āĻāϰা āϝাā§। āĻāĻাā§াāĻ āĻāĻŽāϰা āĻāϰāϰ(errors) āĻ āĻāĻ্āϏāϏেāĻĒāĻļāύ(exceptions) āĻāϰ āĻāύ্āϏেāĻĒ্āĻ āĻুāϞো āĻŦুāĻāĻŦো āĻāĻŦং āĻļিāĻāĻŦো āϝে āĻীāĻাāĻŦে āϤাāĻĻেāϰ āϏাāĻĨে āĻাāĻ āĻāϰা āϝাā§, āĻীāĻাāĻŦে āϏেāĻুāϞো āĻš্āϝাāύ্āĻĄেāϞ āĻāϰা āϝাā§।
āĻĢাāĻāϞāϏ (Files)
āϰাāĻāϏা āĻŦেāĻļ āĻিāĻুāĻĻিāύ āĻšāϞো āĻĒাāĻāĻĨāύ āĻĒ্āϰোāĻ্āϰাāĻŽিং āĻļেāĻা āĻļুāϰু āĻāϰেāĻে। āϏে āĻļিāĻেāĻে āϝে “āĻĄেāĻা āĻšāĻ্āĻে āĻĒ্āϰোāĻ্āϰাāĻŽিংā§েāϰ āĻāĻāĻি āĻুāϰুāϤ্āĻŦāĻĒূāϰ্āĻŖ āĻāύ্āϏেāĻĒ্āĻ”। āĻāĻĨাāĻি āĻিāύ্āϤু āϏāϤ্āϝ। āĻāĻāĻĻিāύ āϏে āĻāĻāĻি āĻĒ্āϰোāĻেāĻ্āĻ āĻāϰāĻিāϞ - āĻাāϏ্āĻ āĻĒাāĻāĻĨāύ āĻĻিā§ে āĻāĻāĻা āĻāĻŽাāύ্āĻĄ-āϞাāĻāύ-āĻŦেāϏāĻĄ āĻ ্āϝাāĻĒ্āϞিāĻেāĻļাāύ। āĻĒ্āϰোāĻেāĻ্āĻেāϰ āĻĒ্āϰā§োāĻāύে āϤাāĻে āĻŦেāĻļ āĻিāĻু āĻĄেāĻা āϏংāϰāĻ্āώāĻŖ āĻāϰāϤে āĻšāϤো, āϝেāύ āϏেāĻ āĻĄেāĻা āĻুāϞোāĻে āϏে āĻĒāϰে āĻŽ্āϝাāύিāĻĒুāϞেāĻ āĻāϰāϤে āĻĒাāϰে। āĻāĻāĻāύ āĻŦিāĻিāύাāϰ āĻšিāϏেāĻŦে āϏে āĻĒাāĻāĻĨāύেāϰ āĻŦিāĻিāύ্āύ āĻĄেāĻা āĻাāĻāĻĒ āϝেāĻŽāύঃ Numeric type, string, lists/array, tuples, set āĻāĻŦং dictionary āĻāĻুāϞো āĻļিāĻেāĻিāϞ। āĻāϰ āĻāĻ āĻĒ্āϰোāĻেāĻ্āĻে āĻĄেāĻা āϏেāĻ āĻāϰাāϰ āĻāύ্āϝ āϏে āĻāĻ āĻĄেāĻা āĻাāĻāĻĒ āĻুāϞোāĻে āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰে। āĻĒ্āϰোāĻেāĻ্āĻেāϰ āϏāĻŦ āĻিāĻুāĻ āĻাāϞো āĻāϞāĻিāϞ, āϤāĻŦে āϤāϤāĻ্āώāύ, āϝāϤāĻ্āώāĻŖ āύা āϏে āĻĒ্āϰোāĻেāĻ্āĻāĻিāĻে āĻĒুāύāϰাā§ āĻāĻ্āϏিāĻিāĻāĻ āĻāϰāϞো।
āϰাāĻāϏা āϝāϤ āĻĄেāĻা āύিā§ে āĻাāĻ āĻāϰেāĻিāϞ āĻ āϏে āϝে āϰেāĻাāϞ্āĻāĻুāϞো āϰিāĻাāϰ্āύ āĻĒেā§েāĻিāϞ; āϏāĻŦ āĻিāĻুāĻ āĻšাāϰিā§ে āĻিā§েāĻে āĻŦা āĻŽুāĻে āĻিā§েāĻে। āϤāĻŦে āϏে āĻেā§ে āĻিāϞ āĻĄেāĻা āĻুāϞোāĻে āĻĒাāϰ্āĻŽাāύেāύ্āĻāϞি āϏ্āĻোāϰ āĻāϰāϤে। āĻিāύ্āϤু āϏে āϝেāĻšেāϤু, āĻĄেāĻা āĻুāϞো āϏ্āĻোāϰ āĻāϰāϤে āĻļুāϧুāĻŽাāϤ্āϰ āĻĄেāĻা āĻাāĻāĻĒ āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰেāĻিāϞ, āϤাāĻ āϏāĻŦ āĻĄেāĻা āĻŽুāĻে āϝাā§। āĻāĻ āĻাāϰāĻŖে āĻāĻŽāϰা āϝāĻāύ āĻোāύো āĻĒ্āϰোāĻ্āϰাāĻŽেāϰ āϞাāĻāĻĢ āĻাāĻāĻŽেāϰ (Lifetime) āĻŽāϧ্āϝে āĻোāύো āĻĄেāĻা āϏেāĻ āĻāϰি, āϤāĻāύ āĻĒ্āϰোāĻ্āϰাāĻŽ āĻļেāώ āĻšāĻā§াāϰ āϏাāĻĨে āϏাāĻĨে āĻāĻŽাāĻĻেāϰ āĻĄেāĻা āĻুāϞো āĻšাāϰিā§ে āϝাā§। āĻŽুāĻে āϝাāĻā§াāϰ āĻাāϰāĻŖ āĻšāϞো āĻāĻ āĻĄেāĻা āĻাāĻāĻĒ āĻুāϞো āϰ্āϝাāĻŽে (Random Access Memory) āϏ্āĻোāϰ āĻšā§, āĻāϰ āϰ্āϝাāĻŽ āĻšāϞো āĻāĻāĻি Volatile Memory (āĻ āϰ্āĻĨাā§ āϰ্āϝাāĻŽে āϏ্āĻĨাā§ীāĻাāĻŦে āĻোāύো āĻিāĻুāĻ āϏেāĻ āĻšā§ āύা।)
āϤো āϰাāĻāϏাāϰ āĻŽāϤো āĻāĻŽাāĻĻেāϰāĻেāĻ, āĻāĻŽāύ āĻ āĻŦāϏ্āĻĨাā§ āĻĒāϰāϤে āĻšāϤে āĻĒাāϰে; āϝেāĻাāύে āĻāĻŽাāĻĻেāϰ āϞোāĻাāϞ āϏিāϏ্āĻেāĻŽ āĻŦা āĻāĻŽ্āĻĒিāĻāĻাāϰেāĻ āĻĄেāĻা āϏংāϰāĻ্āώāĻŖ āĻāϰāϤে āĻšāĻŦে āĻāĻŦং āϝাāϤে āĻāĻŽāϰা āϏেāĻ āĻĄেāĻা āĻুāϞো āϝāĻāύ āĻুāĻļি āϤāĻāύ āĻĢিāϰিā§ে āĻāύāϤে āĻĒাāϰি āϏে āĻŦ্āϝāĻŦāϏ্āĻĨাāĻ āĻāϰāϤে āĻšāĻŦে। āĻš্āϝাঁ! āϰাāĻāϏা āĻĒাāϰ্āĻŽাāύেāύ্āĻāϞি āĻĄেāĻা āϏেāĻ āĻāϰāϤে āĻāĻāĻি āĻĄেāĻাāĻŦেāϏ āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāϤে āĻĒাāϰāϤো, āϤāĻŦে āĻāĻŽāύ āĻĒāϰিāϏ্āĻĨিāϤিāĻ āϏৃāώ্āĻি āĻšāϤে āĻĒাāϰে āϝāĻāύ āĻāĻŽāϰা āϏেāĻা āĻāϰāϤে āĻাāĻāĻŦো āύা।
āϏুāϤāϰাং āĻŽাāĻে āĻŽাāĻে āĻāĻŽাāĻĻেāϰāĻে āϞোāĻাāϞ āϏিāϏ্āĻেāĻŽেāĻ āĻĄেāĻা āϏংāϰāĻ্āώāĻŖ āĻāϰāϤে āĻšāĻŦে, āϝাāϤে āϝেāĻোāύো āϏāĻŽā§ āĻĄেāĻাāĻুāϞোāĻে āĻ ্āϝাāĻ্āϏেāϏ āĻāϰা āϝাā§। āĻāĻ āϧāϰāύেāϰ āĻĒāϰিāϏ্āĻĨিāϤিāϤে āĻāĻŽāϰা āĻĢাāĻāϞ āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāĻŦো, āϝেāĻা āϰ্āϝাāĻŽে āϏেāĻ āύা āĻšā§ে āϰোāĻŽ(Read Only Memory)āĻ āϏেāĻ āĻšāĻŦে, āϰোāĻŽ(ROM) āĻিāύ্āϤু āϏ্āĻĨাā§ী āĻŽেāĻŽāϰি। āϤাāĻ āĻĄেāĻা āĻšাāϰিā§ে āϝাāĻā§াāϰ āĻā§ āĻĨাāĻāĻŦে āύা।
āĻāĻŦাāϰ āĻĒ্āϰāĻļ্āύ āĻšāϞোঃ āĻĢাāĻāϞ āĻী?
āĻĢাāĻāϞ āĻšāϞো āĻāĻŽ্āĻĒিāĻāĻাāϰে āϏংāϰāĻ্āώিāϤ āϤāĻĨ্āϝেāϰ āĻāĻāĻি āϏংāĻ্āϰāĻš āϝা āĻāĻāĻি āύিāϰ্āĻĻিāώ্āĻ āύাāĻŽ āĻĻিāϝ়ে āĻিāĻš্āύিāϤ āĻāϰা āĻšāϝ়। āĻāĻি āĻŦিāĻিāύ্āύ āϧāϰāύেāϰ āĻĄেāĻা āĻĨাāĻāϤে āĻĒাāϰে āϝেāĻŽāύ:
āĻĢাāĻāϞেāϰ āĻĒ্āϰāĻাāϰāĻেāĻĻ:
- āĻেāĻ্āϏāĻ āĻĢাāĻāϞ - āϞেāĻা āĻŦা āύāĻĨি (.txt, .doc, .pdf)
- āĻāĻŦিāϰ āĻĢাāĻāϞ - āĻĢāĻো āĻŦা āĻ্āϰাāĻĢিāĻ্āϏ (.jpg, .png, .gif)
- āĻ āĻĄিāĻ āĻĢাāĻāϞ - āϏāĻ্āĻীāϤ āĻŦা āĻļāĻŦ্āĻĻ (.mp3, .wav)
- āĻিāĻĄিāĻ āĻĢাāĻāϞ - āĻāϞāĻ্āĻিāϤ্āϰ āĻŦা āĻিāĻĄিāĻ (.mp4, .avi)
- āĻĒ্āϰোāĻ্āϰাāĻŽ āĻĢাāĻāϞ - āϏāĻĢāĻāĻāϝ়্āϝাāϰ āĻŦা āĻ ্āϝাāĻĒ্āϞিāĻেāĻļāύ (.exe, .apk)
āĻĢাāĻāϞেāϰ āĻŦৈāĻļিāώ্āĻ্āϝ:
- āĻĒ্āϰāϤিāĻি āĻĢাāĻāϞেāϰ āĻāĻāĻি āύাāĻŽ āĻāĻŦং āĻāĻ্āϏāĻেāύāĻļāύ āĻĨাāĻে
- āĻāĻি āĻāĻŽ্āĻĒিāĻāĻাāϰেāϰ āĻšাāϰ্āĻĄ āĻĄ্āϰাāĻāĻ, USB, āĻŦা āĻ āύ্āϝ āϏ্āĻোāϰেāĻ āĻĄিāĻাāĻāϏে āϏংāϰāĻ্āώিāϤ āĻĨাāĻে
- āĻĢাāĻāϞ āĻোāϞা, āϏāĻŽ্āĻĒাāĻĻāύা, āĻāĻĒি, āĻŽুāĻে āĻĢেāϞা āĻŦা āĻļেāϝ়াāϰ āĻāϰা āϝাāϝ়
- āĻĢাāĻāϞেāϰ āĻāĻাāϰ āĻŦাāĻāĻ, āĻিāϞোāĻŦাāĻāĻ, āĻŽেāĻাāĻŦাāĻāĻ āĻŦা āĻিāĻাāĻŦাāĻāĻে āĻŽাāĻĒা āĻšāϝ়
āϏāĻšāĻ āĻāĻĨাāϝ়, āĻĢাāĻāϞ āĻšāϞো āĻĄিāĻিāĻাāϞ āϤāĻĨ্āϝ āϏংāϰāĻ্āώāĻŖেāϰ āĻāĻāĻি āĻĒāĻĻ্āϧāϤি āϝা āĻāĻŽাāĻĻেāϰ āĻāĻŽ্āĻĒিāĻāĻাāϰে āĻŦিāĻিāύ্āύ āϧāϰāύেāϰ āĻĄেāĻা āϰাāĻāϤে āϏাāĻšাāϝ্āϝ āĻāϰে।
āĻĢাāĻāϞ āĻš্āϝাāύ্āĻĄেāϞিং (File Handing)
āĻĒাāĻāĻĨāύ āĻŦেāĻļ āĻļāĻ্āϤিāĻļাāϞী āĻāĻŦং āϤাāϰ āĻŦিāĻিāύ্āύ āĻŽেāĻĨāĻĄ āĻāĻে āϝা āĻĻিā§ে āĻĒ্āϰাā§ āϏāĻŦāĻিāĻুāĻ āĻāϰা āϝাā§। āĻĒাāĻāĻĨāύ āĻĻিā§ে āĻāĻŽāϰা āĻĢাāĻāϞ āύিā§ে āĻাāĻ āĻāϰāϤে āĻĒাāϰি, āĻĢাāĻāϞāĻে āĻŽ্āϝাāύিāĻĒুāϞেāĻ āĻāϰāϤে āĻĒাāϰি। āĻĢাāĻāϞে āĻŦিāĻিāύ্āύ āĻ āĻĒাāϰেāĻļāύ āĻাāϞাāϤে āĻĒাāϰি āϝেāĻŽāύঃ
- āĻāĻāĻা āĻĢাāĻāϞ āĻāĻĒেāύ(open) āĻāϰāϤে āĻĒাāϰি,
- āĻĢাāĻāϞ āĻĒā§āϤে āĻĒাāϰি, āĻĢাāĻāϞে āĻŽāϧ্āϝে āϞিāĻāϤে āĻĒাāϰি (Reading/Writing a file)
- āĻĢাāĻāϞ āĻŦāύ্āϧ āĻŦা āĻ্āϞোāĻ (close) āĻāϰāϤে āĻĒাāϰি।
āϤāĻŦে āϝেāĻোāύো āĻ āĻĒাāϰেāĻļāύ āĻāϰাāϰ āϏāĻŦাāϰ āĻĒ্āϰāĻĨāĻŽে āĻāĻŽাāĻĻেāϰāĻে āĻĢাāĻāϞāĻিāĻে āĻুāϞāϤে āĻšāĻŦে।
Handling Files
āϝেāĻŽāύāĻি āĻŦāϞāĻিāϞাāĻŽ, āĻĢাāĻāϞ āύিā§ে āϝেāĻোāύো āĻাāĻ āĻāϰাāϰ āĻĒূāϰ্āĻŦে āĻāĻŽাāĻĻেāϰāĻে āĻ āĻŦāĻļ্ā§āĻ āĻĢাāĻāϞāĻিāĻে āĻāĻĒেāύ āĻāϰāϤে āĻšāĻŦে।
āĻāĻāĻি āĻĢাāĻāϞ āĻāĻĒেāύ āĻāϰāϤে āĻāĻŽāϰা āĻĒাāĻāĻĨāύেāϰ open()
āύাāĻŽāĻ āĻŦিāϞ্āĻ-āĻāύ āĻĢাংāĻļāύāĻি āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāĻŦো। āϝেāĻা āϏাāϧাāϰāĻŖāϤ āĻāĻāĻি āĻĢাāĻāϞ āĻāĻĒেāύ āĻāϰে, āĻāϰ āĻāĻāĻি āĻĢাāĻāϞ āĻ
āĻŦāĻেāĻ্āĻ āϰিāĻাāϰ্āύ āĻĻেā§। āĻāĻ āĻĢাāĻāϞ āĻ
āĻŦāĻেāĻ্āĻāĻিāĻে āĻĒāϰāĻŦāϰ্āϤীāϤে āĻĢাāĻāϞāĻিāĻে āĻŽ্āϝাāύিāĻĒুāϞেāĻ (Manipulate) āĻāϰāϤে āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰা āϝাāĻŦে।
āĻāĻāĻি āĻĢাāĻāϞ āĻāĻĒেāύ āĻāϰাāϰ āϏিāύāĻ্āϝাāĻ্āϏ āĻšāĻŦে -
āĻ
āĻŦāĻেāĻ্āĻেāϰ_āύাāĻŽ = open(āĻĢাāĻāϞেāϰ āύাāĻŽ, āĻ
্āϝাāĻ্āϏেāϏ āĻŽোāĻĄ)
open()
āĻĢাংāĻļāύ āĻĻুāĻāĻা āĻĒ্āϝাāϰাāĻŽিāĻাāϰ āύেā§, āĻĒ্āϰāĻĨāĻŽāĻি āĻšāϞো āĻĢাāĻāϞেāϰ āύাāĻŽ(āϝে āĻĢাāĻāϞāĻিāĻে āĻāĻŽāϰা āĻāĻĒেāύ āĻāϰāϤে āĻাā§ āĻŦা āϝেāĻাāĻে āύিā§ে āĻাāĻ āĻāϰāϤে āĻাā§)। āĻĻ্āĻŦিāϤীā§ āĻĒ্āϝাāϰাāĻŽিāĻাāϰāĻি āĻšāϞো āĻ
্āϝাāĻ্āϏেāϏ āĻŽোāĻĄ(Access Mode). । āĻāĻ āĻ
্āϝাāĻ্āϏেāϏ āĻŽোāĻĄ āĻšāϤে āĻĒাāϰে - read mode, write mode, append āĻāϰো āĻ
āύেāĻ āĻিāĻু। āĻ
্āϝাāĻ্āϏেāϏ āĻŽোāĻĄ āύিā§ে āϏাāĻŽāύে āĻāϰো āĻŦিāϏ্āϤাāϰিāϤ āĻŦāϞāĻŦো।
āĻŽāύে āĻāϰি āĻāĻŽাāĻĻেāϰ āĻাāĻে programming.txt āύাāĻŽেāϰ āĻāĻāĻি āĻĢাāĻāϞ āĻāĻে, āĻāϞুāύ āĻĢাāĻāϞāĻিāĻে open()
āĻĢাংāĻļāύ āĻĻিā§ে āĻāĻĒেāύ āĻāϰি:
fileOBJ = open("programming.txt")
āĻāĻāύে,
- āĻĢাāĻāϞ āĻ āĻŦāĻেāĻ্āĻāĻিāϰ āύাāĻŽ āĻĻিā§েāĻি fileOBJ . āĻাāϏ্āĻ āĻāĻāĻি āĻ্āϝাāϰিā§েāĻŦāϞেāϰ āĻŽāϤো।
- āϞāĻ্āώ্āϝ āĻāϰুāύ, āĻāĻাāύে
open()
āĻĢাংāĻļāύে āĻļুāϧু āĻŽাāϤ্āϰ āĻāĻāĻি āĻĒ্āϝাāϰাāĻŽিāĻাāϰ āĻĻিā§েāĻি। āĻļুāϧুāĻŽাāϤ্āϰ file name āĻāϰ āĻĒ্āϝাāϰাāĻŽিāĻাāϰāĻি। āĻāϰ āĻাāϰāĻŖ āĻšāϞো, Access Mode āĻšāϞো āĻāĻ্āĻিāĻ (optional)
note: āϝāĻāύ Access Mode āĻĒ্āϝাāϰাāĻŽিāĻাāϰāĻিāϰ āĻ্āϝাāϞু/āĻŽাāύ āĻĻেāĻā§া āĻšā§ āύা, āϤāĻāύ āĻĢাāĻāϞāĻি āĻĄিāĻĢāϞ্āĻ (Default) āĻাāĻŦে read mode āĻ āĻāĻĒেāύ āĻšā§।
āĻāĻŽāϰা āĻাāύি, āĻĒাāĻāĻĨāύে open()
āĻĢাংāĻļāύ āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰে āĻāĻāĻি āĻĢাāĻāϞ āĻāĻĒেāύ āĻāϰা āϝাā§। āϝāĻāύ āĻĢাāĻāϞāĻি āύিā§ে āĻāĻŽাāĻĻেāϰ āĻাāĻ āĻāϰা āĻļেāώ āĻšā§ে āϝাāĻŦে āϤāĻāύ āĻāĻŽাāĻĻেāϰ āĻāĻিā§ āĻĢাāĻāϞāĻি āĻ্āϞোāĻ āĻāϰে āĻĻেāĻā§া। āĻĢাāĻāϞ āĻ্āϞোāĻ āĻāϰাāϰ āĻāύ্āϝ āĻāĻŽāϰা close()
āĻĢাংāĻļāύ āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāĻŦ। close()
āĻĢাংāĻļāύāĻে āĻĢাāĻāϞ āĻ
āĻŦāĻেāĻ্āĻ āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰে āĻāϞ āĻāϰāϤে āĻšāĻŦে। āϏিāύāĻ্āϝাāĻ্āϏāĻি āĻšāĻŦে āĻāϰāĻāĻŽঃ
fileOBJ.close()
āĻāĻাāύে fileOBJ āĻšāϞো āĻĢাāĻāϞেāϰ āĻāĻāĻি āĻ
āĻŦāĻেāĻ্āĻ। āϝাāϰ āĻŽāϧ্āϝে āĻāĻŽāϰা close()
āĻে āĻāϞ āĻāϰেāĻি।
āĻāϰো āĻāĻāĻি āĻŦিāώ⧠āĻāĻĒāύাāĻĻেāϰ āĻেāύে āϰাāĻা āĻাāϞো, āĻĒাāĻāĻĨāύে āϏাāϧাāϰāĻŖāϤ āĻĻুāĻ āϧāϰāύেāϰ āĻĢাāĻāϞ āύিā§ে āĻাāĻ āĻāϰা āϝাā§, āϏেāĻুāϞো āĻšāϞোঃ
- āĻেāĻ্āϏāĻ āĻĢাāĻāϞ (Text file): āĻāϰ āĻĢাāĻāϞ āĻāĻ্āϏāĻেāύāĻļāύ āĻšāϞো
.txt
- āĻŦাāĻāύাāϰি āĻĢাāĻāϞ (Binary file): āĻāĻĒāύাāϰ āĻāĻŽ্āĻĒিāĻāĻাāϰে āĻĨাāĻে
.bin
āĻāĻ্āϏāĻেāύāĻļāύ āϝুāĻ্āϤ āĻĢাāĻāϞ āĻুāϞো āĻšāϞো āĻŦাāĻāύাāϰি āĻĢাāĻāϞ। āĻļুāϧু āĻŽাāϤ্āϰ āĻেāĻ্āϏāĻ āĻāĻাāϰে āĻĄেāĻা āύা āϏেāĻ āĻāϰে, āĻāĻি āĻŦাāĻāύাāϰি āĻĢāϰ্āĻŽে (ā§Ļ āĻāĻŦং ā§§) āĻĄেāĻা āϏেāĻ āĻāϰে।
Working with Files
Reading
āĻāĻāύ āĻāĻŽāϰা āĻļিāĻāĻŦো āϝে, āĻীāĻাāĻŦে āĻāĻāĻি āĻĢাāĻāϞেāϰ āĻŽāϧ্āϝে āĻĨাāĻে āĻāύ্āĻেāύ্āĻāĻুāϞো āĻĒā§া(Read) āϝাā§। āϤāĻŦে āĻāϰ āĻāύ্āϝ āĻāĻŽাāĻĻেāϰāĻে āĻĢাāĻāϞেāϰ āĻ ্āϝাāĻ্āϏেāϏ āĻŽোāĻĄāĻে āύিāϰ্āϧাāϰāĻŖ āĻāϰে āĻĻিāϤে āĻšāĻŦে। āĻĒাāĻāĻĨāύে āĻĨাāĻে āĻ ্āϝাāĻ্āϏেāϏ āĻŽোāĻĄāĻুāϞোঃ
r
: āĻāĻা āĻĢাāĻāϞāĻে Read-only mode āĻ āĻāĻĒেāύ āĻāϰে।
r+
: āĻāĻা āĻĢাāĻāϞāĻে read āĻ write āĻāĻā§ āĻাāϏ্āĻেāϰ āĻāύ্āϝ āĻāĻĒেāύ āĻāϰে।
āĻĒাāĻāĻĨāύে āĻŦাāĻāύাāϰি āĻĢাāĻāϞ āύিā§েāĻ āĻাāĻ āĻāϰা āϝাā§। āĻŦাāĻāύাāϰি āĻĢাāĻāϞেāϰ āĻāύ্āϝ āĻĨাāĻা āĻ ্āϝাāĻ্āϏেāϏ āĻŽোāĻĄ āĻুāϞো āĻšāϞোঃ
rb
: āĻāĻা āĻŦাāĻāύাāϰি āĻĢাāĻāϞāĻে Read-only mode āĻ āĻāĻĒেāύ āĻāϰে।
rb+
: āĻāĻা āĻŦাāĻāύাāϰি āĻĢাāĻāϞāĻে read āĻ write āĻāĻā§ āĻাāϏ্āĻেāϰ āĻāύ্āϝ āĻāĻĒেāύ āĻāϰে।
āĻাāĻŦো, āĻāĻŽাāĻĻেāϰ āĻাāĻে “kochu.txt” āύাāĻŽেāϰ āĻāĻāĻি āĻĢাāĻāϞ āĻāĻে āĻāĻŦং āϤাāϰ āĻŽāϧ্āϝে āϞিāĻা āĻāĻে - “Welcome to Kochu’s Universe. Here, tech and teach together”.
āĻāĻŦাāϰ āĻāϞুāύ āĻāĻ āĻĢাāĻāϞāĻিāĻে Read Mode āĻ āĻāĻĒেāύ āĻāϰিঃ
file_obj = open("kochu.txt","r")
āĻāĻĒāϰেāϰ āĻোāĻĄ āĻুāϞো āĻĒā§াāϰ āĻāύ্āϝ āĻĒ্āϰāϏ্āϤুāϤ āĻāϰে āĻĢাāĻāϞāĻি āĻুāϞāĻŦে, āϤāĻŦে āĻĢাāĻāϞāĻিāϰ āĻŽāϧ্āϝে āĻĨাāĻা āĻāύ্āĻেāύ্āĻāĻুāϞো āĻীāĻাāĻŦে āĻĒā§āĻŦো? āϤাāϰ āĻāύ্āϝ āĻĒাāĻāĻĨāύ āĻāĻŽাāĻĻেāϰāĻে read()
āύাāĻŽেāϰ āĻāϰেāĻāĻি āĻŽেāĻĨāĻĄ(method) āĻĻিā§েāĻে।
file_obj = open("kochu.txt","r")
print(file_obj.read())
Output ➖
Welcome to Kochu's Universe.
Here, tech and teach together
āϤো āĻāĻŽāϰা āĻĻেāĻāĻি āϝে, read()
āĻŽেāĻĨāĻĄ(method) āĻĢাāĻāϞেāϰ āĻļুāϰু āĻĨেāĻে āĻļেāώ āĻĒāϰ্āϝāύ্āϤ āĻĒā§ে āĻĢেāϞে। āϤāĻŦে read()
āĻŽেāĻĨāĻĄেāϰ āĻŽāϧ্āϝে āĻāĻāĻি āĻāĻ্āĻিāĻ āĻĒ্āϝাāϰাāĻŽেāĻাāϰ āĻĻিā§ে āĻŦāϞে āĻĻেāĻā§া āϝাā§ āϝে āĻ িāĻ āĻāϤ āĻŦাāĻāĻ(bytes) āϏে āĻĒā§āĻŦে। āϏিāύāĻ্āϝাāĻ্āϏāĻা āĻšāĻŦে āĻāϰāĻāĻŽ- file_obj.read(bytes)
- Bytes āĻšāϞো āĻāĻāĻি Integer (āĻĒূāϰ্āĻŖāϏংāĻ্āϝা) āĻ্āϝাāϞু āϝেāĻা āĻ িāĻ āĻāϰে āĻĻেā§ āϝে āĻāϤ Bytes āĻĒāϰ্āϝāύ্āϤ āĻĒā§āϤে āĻšāĻŦে।
āĻāĻĻাāĻšāϰāĻŖঃ
file_obj = open("kochu.txt","r")
print(file_obj.read(14))
āĻāĻāĻāĻĒুāĻঃ
Welcome to Koc
āĻāĻাā§াāĻ, readline()
āύাāĻŽেāϰ āĻāϰেāĻāĻি āĻŽেāĻĨāĻĄ āĻāĻে, āϝেāĻা āĻļুāϧু āĻŽাāϤ্āϰ āĻāĻāĻি āϞাāĻāύ āĻĒā§েঃ-
file_obj = open("kochu.txt","r")
print(file_obj.readline())
Writing
āĻāĻāύ āĻļেāĻাāϰ āϏāĻŽā§ āĻšā§েāĻে āϝে āĻিāĻাāĻŦে āĻĢাāĻāϞেāϰ āĻŽāϧ্āϝে āĻিāĻু āĻāύ্āĻেāύ্āĻ āϞিāĻা āϝাā§? āϤো āĻĢাāĻāϞে āĻিāĻু āϞিāĻāϤে āĻাāĻāϞে āĻ āĻŦāĻļ্āϝāĻ āĻĢাāĻāϞāĻি āĻোāϞাāϰ āϏāĻŽā§ āĻ ্āϝাāĻ্āϏেāϏ āĻŽোāĻĄ āύিāϰ্āϧাāϰāĻŖ āĻāϰে āĻĻিāϤে āĻšāĻŦে। āĻĢাāĻāϞে āĻোāύো āĻিāĻু āϞেāĻাāϰ āĻāύ্āϝ āĻĒ্āϰā§োāĻāύীā§ āĻ ্āϝাāĻ্āϏেāϏ āĻŽোāĻĄāĻুāϞোঃ
w
: āĻāĻা āĻĢাāĻāϞāĻিāĻে write-only mode āĻ āĻোāϞে।
w+
: āĻāĻা āĻĢাāĻāϞāĻিāĻে write āĻ read āĻāĻā§ āĻাāϏ্āĻেāϰ āĻāύ্āϝāĻ āĻোāϞে।
āĻŦাāĻāύাāϰি (Binary) āĻĢাāĻāϞেāϰ āĻāύ্āϝঃ
wb
: āĻāĻা āĻŦাāĻāύাāϰি āĻĢাāĻāϞāĻিāĻে write-only mode āĻ āĻোāϞে।
wb+
: āĻāĻা āĻŦাāĻāύাāϰি āĻĢাāĻāϞāĻিāĻে write āĻ read āĻāĻā§ āĻাāϏ্āĻেāϰ āĻāύ্āϝāĻ āĻোāϞে।
āĻিāĻু āĻিāύিāϏ āĻŽাāĻĨাā§ āϰেāĻো
āύিāĻেāϰ āĻāĻ āĻŦিāώā§āĻুāϞো āĻ āĻŦāĻļ্āϝāĻ āĻŽাāĻĨাā§ āϰাāĻāĻŦেāύঃ-
- āϝāĻāύ-āĻ āĻāĻŽāϰা āĻāĻāĻি āĻĢাāĻāϞ writing mode āĻ āĻুāϞāĻŦো, āϤāĻāύ āĻĢাāĻāϞ āĻĒā§েāύ্āĻাāϰāĻি (file pointer) āĻĢাāĻāϞেāϰ āĻāĻেāĻŦাāϰে āĻļুāϰুāϤে āĻĨাāĻāĻŦে।
- āĻĢাāĻāϞ āĻĒā§েāύ্āĻাāϰāĻি (file pointer) āĻĢাāĻāϞেāϰ āĻāĻেāĻŦাāϰে āĻļুāϰুāϤে āĻĨাāĻāĻŦে, āϤাāĻ āĻĢাāĻāϞে āĻĨাāĻে āĻĒূāϰ্āĻŦেāϰ āĻāύ্āĻেāύ্āĻ āĻুāϞো Overwrite āĻšāĻŦে, āĻŽাāύে āϝāĻāύ āĻĢাāĻāϞে writing mode āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāĻŦেāύ āϤāĻāύ āĻļুāϧু āĻĢাāĻāϞে āύāϤুāύ āĻিāĻু āϞিāĻāϤে āĻŦা write āĻāϰāϤে āĻĒাāϰāĻŦেāύ।
- āϝāĻĻি writing mode āĻ āĻāĻŽāύ āĻāĻāĻি āĻĢাāĻāϞ āĻোāϞাāϰ āĻেāώ্āĻা āĻāϰা āĻšā§, āϝে āĻĢাāĻāϞāĻিāϰ āĻোāύো āĻ āϏ্āϤিāϤ্āĻŦ āύেāĻ। āϤাāĻšāϞে āĻĒাāĻāĻĨāύ āϏ্āĻŦāϝ়ংāĻ্āϰিāϝ়āĻাāĻŦে āĻāĻāĻি āĻĢাāĻāϞ āϤৈāϰি āĻāϰে āύিāĻŦে।
āĻāϞুāύ āĻāĻেāϰ āϏেāĻ “kochu.txt” āĻĢাāĻāϞāĻিāĻ āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰি, āύিāĻে āĻিāĻাāĻŦে writing mode āĻ āĻāĻĒেāύ āĻāϰāĻŦেāύ āϤা āĻĻেāĻাāύো āĻšāϞোঃ
file_obj = open("kochu.txt","w")
āĻāϰāĻĒāϰ write()
āĻŽেāĻĨāĻĄ āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰে - “Kochu Programmer is the best” āϞিāĻাāĻি āϞিāĻে āĻĢেāϞি।
file_obj = open("kochu.txt","w")
file_obj.write("Kochu Programmer is the best")
āĻোāĻĄ āϰাāύ āĻāϰিā§ে, “kochu.txt” āĻĢাāĻāϞে āĻিā§ে āĻĻেāĻুāύ āĻি āĻĒāϰিāĻŦāϰ্āϤāύ āĻāĻেāĻে। āĻš্āϝাঁ, āĻĢাāĻāϞেāϰ āĻŽāϧ্āϝে āĻāĻে āϝা āϞিāĻা āĻিāϞ āϏāĻŦ āĻŽুāĻে āĻেāĻে āĻāϰ āύāϤুāύ āϞেāĻাāĻি āϝুāĻ্āϤ āĻšā§েāĻে।
āĻিāύ্āϤু āĻāĻŽāϰা āĻাāĻ āϝে, āĻāĻŽাāĻĻেāϰ āĻĢাāĻāϞে āĻĨাāĻা āĻāĻেāϰ āĻāύ্āĻেāύ্āĻāĻুāϞো āĻĨাāĻāĻŦে, āϤাāϰ āϏাāĻĨে āύāϤুāύ āĻāύ্āĻেāύ্āĻ āϝুāĻ্āϤ āĻšāĻŦে। āĻāĻŽāϰা append mode āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰে āĻāĻি āĻāϰāϤে āĻĒাāϰি। append = add at the end
āĻĒাāĻāĻĨāύে āĻĨাāĻে append mode āĻুāϞো āĻšāϞোঃ -
a
: āĻāĻা āĻĢাāĻāϞāĻে āĻļুāϧু append-only mode āĻ āĻোāϞে।
a+
: āĻāĻা āĻĢাāĻāϞāĻে appending āĻāϰ reading mode āĻ āĻোāϞে।
āĻāĻāĻ āĻাāĻŦে āĻŦাāĻāύাāϰি āĻĢাāĻāϞেāϰ āĻ্āώেāϤ্āϰে ab
āĻ ab+
āĻŽোāĻĄ āĻŦ্āϝāĻŦāĻšাāϰ āĻšāĻŦে।
āĻāϞ্āϞেāĻ্āϝ, āĻāĻŽāϰা āϝāĻāύ āĻোāύো āĻĢাāĻāϞāĻে append mode āĻ āĻāĻĒেāύ āĻāϰি, āϤāĻāύ āĻĢাāĻāϞ āĻĒā§েāύ্āĻাāϰāĻি (file pointer) āĻĢাāĻāϞেāϰ āĻāĻেāĻŦাāϰে āĻļেāώে āĻĨাāĻে।
āĻāĻāύ āĻāϞুāύ, āĻāĻŽাāĻĻেāϰ “kochu.txt” āĻĢাāĻāϞāĻিāϤে āĻিāĻু āĻেāϏ্āĻāĻ āϝোāĻ āĻāϰি, āĻāĻ্āώেāϤ্āϰে āĻŽোāĻĄ āĻšāĻŦে a
āĻāϰ āĻŽেāĻĨāĻĄ āĻšāĻŦে write()
:
file_obj = open("kochu.txt","a")
file_obj.write("Together Towards Eternity.")
Exceptions
đ§ ā§§। Error āĻী? āĻāĻŦং āĻāϰ āϧāϰāĻŖ
āĻĒ্āϰোāĻ্āϰাāĻŽিং āĻāϰাāϰ āϏāĻŽā§ āĻŦিāĻিāύ্āύ āĻুāϞেāϰ āĻাāϰāĻŖে āĻোāĻĄ āĻ িāĻāĻাāĻŦে āĻাāĻ āύা-āĻ āĻāϰāϤে āĻĒাāϰে। āĻāĻ āĻুāϞāĻুāϞোāĻে āĻāĻāϤ্āϰে āĻŦāϞা āĻšā§ Error (āϤ্āϰুāĻি)।
āĻŽূāϞāϤ āĻĻুāĻ āϧāϰāύেāϰ Error āĻšā§ে āĻĨাāĻে:
✅ ā§§. Syntax Error (āϏিāύāĻ্āϝাāĻ্āϏ āĻুāϞ)
Syntax āĻŽাāύে āĻšāϞো āĻĒ্āϰোāĻ্āϰাāĻŽিং āĻাāώাāϰ āύিā§āĻŽāĻাāύুāύ। āϝāĻāύ āĻāĻŽāϰা āϏেāĻ āύিā§āĻŽ āĻ িāĻāĻŽāϤো āύা āĻŽাāύি, āϤāĻāύ Syntax Error āĻšā§।
āĻāĻĻাāĻšāϰāĻŖ:
- āĻুāϞ āĻŦাāύাāύ
- āĻুāϞ āĻŦ্āϰ্āϝাāĻেāĻ āĻŦ্āϝāĻŦāĻšাāϰ
- āĻ
āύুāĻĒāϏ্āĻĨিāϤ colon (
:
)
āĻাāĻŦো: āϤুāĻŽি āĻংāϰেāĻিāϤে āϞেāĻো “I rice eat” → āĻāĻা āĻšā§āϤো āĻāϞāĻŦে āύা āĻাāϰāĻŖ english grammar āĻŽেāύে āϞেāĻāύি। āĻĒ্āϰোāĻ্āϰাāĻŽেāĻ grammar āύা āĻŽাāύāϞে error āĻšā§।
✅ ⧍. Logic Error (āϝুāĻ্āϤিāĻāϤ āĻুāϞ)
āĻāĻা āϏāĻŦāĻেā§ে āĻŽāĻাāϰ āĻāϰ āĻāĻ িāύ āϧāϰাāϰ error!
āϤুāĻŽি āĻোāĻĄ āĻ িāĻāĻ াāĻ āϞিāĻāĻো, āĻোāύো syntax āĻুāϞ āύেāĻ, āĻĒ্āϰোāĻ্āϰাāĻŽāĻ āĻāϞāϤেāĻে — āĻিāύ্āϤু āϝা output āĻāϏাāϰ āĻāĻĨা āĻিāϞ, āϏেāĻা āĻāϏāĻে āύা।
āĻāĻĻাāĻšāϰāĻŖ:
āϤুāĻŽি āĻšিāϏাāĻŦ āĻāϰāϤেāĻো āϝোāĻāĻĢāϞ, āĻিāύ্āϤু āĻুāϞ āĻāϰে āĻŦিā§োāĻ āĻāϰāϤেāĻো।
āĻŽাāύে: āĻোāĻĄ āϰাāύ āĻšāĻ্āĻে, āĻিāύ্āϤু āĻুāϞāĻাāĻŦে! āĻāĻা āĻšā§ logic error।
⚠️ ⧍। Exception āĻী?
Exception āĻŽাāύে āĻšāϞো — āĻĒ্āϰোāĻ্āϰাāĻŽ āĻাāϞাāύোāϰ āϏāĻŽā§ āĻšāĻ াā§ āĻāĻে āϝাāĻā§া āĻāĻāĻা āĻŦিāĻļেāώ āϧāϰāĻŖেāϰ āϏāĻŽāϏ্āϝা, āϝেāĻা āĻোāĻĄেāϰ āϰāĻāύাā§ āĻুāϞ āύা, āĻিāύ্āϤু āĻাāϞাāύোāϰ āϏāĻŽā§ āĻāĻŽāύ āĻিāĻু āĻšāĻ্āĻে āϝেāĻা āĻĒ্āϰোāĻ্āϰাāĻŽ āĻŽোāĻাāĻŦিāϞা āĻāϰāϤে āĻĒাāϰāĻে āύা।
đ§ āĻŦাāϏ্āϤāĻŦ āĻāĻĻাāĻšāϰāĻŖ:
āϤুāĻŽি āĻāĻāĻা āϏংāĻ্āϝা āĻāϰেāĻāĻা āϏংāĻ্āϝা āĻĻিā§ে āĻাāĻ āĻāϰāϤেāĻো। āĻিāύ্āϤু āĻĻ্āĻŦিāϤীā§ āϏংāĻ্āϝাāĻা āϝāĻĻি ā§Ļ (āĻļূāύ্āϝ) āĻšā§?
āϤাāĻšāϞে āĻĒ্āϰোāĻ্āϰাāĻŽ āĻāĻāĻĻāĻŽ āĻĨেāĻŽে āϝাāĻŦে, āĻাāϰāĻŖ āĻāĻŖিāϤে ā§Ļ āĻĻিā§ে āĻাāĻ āĻāϰা āϝাā§ āύা।
āĻāĻাāĻ āĻšāĻ্āĻে Exception — āĻ āϰ্āĻĨাā§ āĻĒ্āϰোāĻ্āϰাāĻŽ āĻāϞাāĻাāϞীāύ (runtime) āĻāĻে āϝাāĻā§া āĻāĻ āϧāϰāύেāϰ āϏāĻŽāϏ্āϝা।
āĻāϰেāĻāĻা āĻāĻĻাāĻšāϰāĻŖ:
āĻāĻāĻাāϰ āϝāĻĻি āĻোāύো āĻāύāĻĒুāĻে āϏংāĻ্āϝা āύা āĻĻিā§ে āĻ āĻ্āώāϰ āĻĻেā§, āĻিāύ্āϤু āĻĒ্āϰোāĻ্āϰাāĻŽ āϏংāĻ্āϝা āĻāĻļা āĻāϰāϤেāĻে — āϤāĻāύāĻ Exception āĻāĻāĻŦে।
đĄ️ ā§Š। Exception Handling āĻী?
Exception Handling āĻŽাāύে āĻšāĻ্āĻে — āĻāĻŽāύ āĻāĻāĻি āĻĒāĻĻ্āϧāϤি āϝাāϰ āĻŽাāϧ্āϝāĻŽে āĻāĻŽāϰা āĻāĻ āĻšāĻ াā§ āĻāĻে āϝাāĻā§া exception-āĻুāϞোāϰ āĻāύ্āϝ āĻĒ্āϰāϏ্āϤুāϤ āĻĨাāĻি, āĻāĻŦং āĻĒ্āϰোāĻ্āϰাāĻŽ āϝেāύ āϏুāύ্āĻĻāϰāĻাāĻŦে āϏāĻŽāϏ্āϝা āĻŽোāĻাāĻŦিāϞা āĻāϰে āĻāϞে।
āĻাāĻŦো:
āϤুāĻŽি āĻĻুāϧ āĻা āĻŦাāύাāĻ্āĻো, āĻāϰ āĻšāĻ াā§ āĻĻুāϧ āĻļেāώ। āϤুāĻŽি āϤāĻāύ plan B āύিā§ে āϰāĻ āĻা āĻŦাāύিā§ে āĻĢেāϞো।
āϤোāĻŽাāϰ āĻĒ্āϰোāĻ্āϰাāĻŽেāĻ āĻāĻāĻāĻাāĻŦে āĻোāύো āĻুāϞ āĻšāϞে, āϏেāĻাāĻে āϧāϰা, āĻŦ্āϝাāĻ্āϝা āĻĻেāĻā§া, āĻāĻŦং āĻŦিāĻāϞ্āĻĒ āĻāĻĒাā§ āĻŦেāϰ āĻāϰা — āĻāĻে āĻŦāϞে Exception Handling।
āϝāĻĻি āĻĒ্āϰোāĻ্āϰাāĻŽে exception handling āύা āĻĨাāĻāϤো, āϤাāĻšāϞে āϝেāĻোāύো āĻোāĻ āϏāĻŽāϏ্āϝাāϤেāĻ āĻĒুāϰো āĻĒ্āϰোāĻ্āϰাāĻŽ āĻŦāύ্āϧ āĻšā§ে āϝেāϤ।
đ§ą ā§Ē। Exception Class āĻী?
Python-āĻ āϏāĻŦ Exception āĻšāϞো āĻ্āϞাāϏ (class)।
āĻŽাāύে, āϝেāĻোāύো exception āĻāĻāϞে Python āĻāϏāϞে āĻāĻāĻা class āĻāϰ object āϤৈāϰি āĻāϰে, āĻāĻŦং āϏেāĻাāϰ āĻŽাāϧ্āϝāĻŽে āĻŦāϞে — "āĻাāĻ, āĻāĻাāύে āϏāĻŽāϏ্āϝা āĻšāĻāĻে!"
āĻāĻ āĻ্āϞাāϏāĻুāϞো āĻĒাāĻāĻĨāύেāϰ āĻেāϤāϰেāĻ āϤৈāϰি āĻāϰা āĻāĻে, āϝেāĻুāϞোāĻে āĻŦāϞে Built-in Exception Classes।
āϤুāĻŽি āĻাāĻāϞে āύিāĻেāĻ āύāϤুāύ exception class āĻŦাāύাāϤে āĻĒাāϰো (custom exception), āĻিāύ্āϤু āĻāĻāύ āĻāĻŽাāĻĻেāϰ āĻĻāϰāĻাāϰ āĻļুāϧু āĻĒাāĻāĻĨāύেāϰ āϤৈāϰি āĻāϰা common exception class āĻুāϞা āĻাāύা।
đ§° ā§Ģ। āĻিāĻু Common Built-in Exception Class
āύীāĻে āĻিāĻু āĻুāϰুāϤ্āĻŦāĻĒূāϰ্āĻŖ Exception class āĻāϰ āϤাāϰ āĻাāĻ āĻāĻ āύāĻāϰে āĻĻেāĻা āϝাāĻ:
Exception Class Name | āĻী āĻাāϰāĻŖে āĻāĻ exception āĻšā§? |
---|---|
ZeroDivisionError | āĻোāύো āϏংāĻ্āϝাāĻে āĻļূāύ্āϝ āĻĻিā§ে āĻাāĻ āĻāϰāϤে āĻেāϞে |
ValueError | āĻুāϞ āĻাāĻāĻĒেāϰ āĻŽাāύ āĻĻিāϞে, āϝেāĻŽāύ āϏংāĻ্āϝাāϰ āĻাā§āĻাā§ āĻ āĻ্āώāϰ |
TypeError | āĻুāϞ āĻাāĻāĻĒেāϰ āĻĄাāĻা āύিā§ে āĻাāĻ āĻāϰāϞে, āϝেāĻŽāύ: āϏ্āĻ্āϰিং āĻāϰ āύাāĻŽ্āĻŦাāϰ āϝোāĻ āĻāϰāϤে āĻাāĻāϞে |
IndexError | āϞিāϏ্āĻ āĻŦা āĻাāĻĒāϞ-āĻ āϝেāĻ index āύাāĻ, āϏেāĻা āĻāĻ্āϏেāϏ āĻāϰāϤে āĻেāϞে |
KeyError | āĻĄিāĻāĻļāύাāϰিāϤে āϝেāĻ key āύাāĻ, āϏেāĻা āĻĻিā§ে āĻুঁāĻāϤে āĻেāϞে |
NameError | āϝেāĻ āĻ্āϝাāϰিā§েāĻŦāϞ āĻĄিāĻ্āϞেā§াāϰāĻ āĻāϰা āĻšā§āύি, āϏেāĻা āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāϤে āĻেāϞে |
FileNotFoundError | āĻĢাāĻāϞ āĻুāϞāϤে āĻাāĻ্āĻো āĻিāύ্āϤু āĻĢাāĻāϞāĻাāĻ āύেāĻ |
ImportError | āĻোāύ āĻŽāĻĄিāĻāϞ āĻāĻŽāĻĒোāϰ্āĻ āĻāϰāϤে āĻিā§ে āϏāĻŽāϏ্āϝা āĻšāϞে |
AttributeError | āĻোāύ āĻ āĻŦāĻেāĻ্āĻে āϝেāĻ attribute āύাāĻ, āϏেāĻা āĻāĻ্āϏেāϏ āĻāϰāϤে āĻাāĻāϞে |
MemoryError | āĻĒ্āϰোāĻ্āϰাāĻŽ āĻাāϞাāϤে āĻিā§ে āĻŽেāĻŽোāϰি āĻļেāώ āĻšā§ে āĻেāϞে |
KeyboardInterrupt | āĻāĻāĻাāϰ āϝāĻĻি āĻিāĻŦোāϰ্āĻĄ āĻĻিā§ে āĻĒ্āϰোāĻ্āϰাāĻŽ āĻĨাāĻŽিā§ে āĻĻেā§ (Ctrl + C) |
đ§ āĻŽāύে āϰাāĻাāϰ āĻিāĻĒāϏ:
- āĻĒ্āϰāϤিāĻা exception class āĻāĻāĻা āϏāĻŽāϏ্āϝাāϰ āύাāĻŽ — āϤুāĻŽি āϝāĻāύ exception āϧāϰো, āϤāĻāύ āĻাāύো āĻāϏāϞে āĻী āϏāĻŽāϏ্āϝা āĻšā§েāĻিāϞ।
- Python āĻāĻ āĻ্āϞাāϏāĻুāϞো āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰে āĻāĻŽাāĻĻেāϰāĻে āϏāĻ িāĻ error message āĻĻেā§।
- Exception handling āĻāϰ āϏāĻŽā§ āĻāĻŽāϰা āĻāĻ āĻ্āϞাāϏāĻুāϞোāĻেāĻ
try-except
āĻŦ্āϞāĻেāϰ āĻিāϤāϰে āϧāϰāϤে āĻĒাāϰি।
đ āĻļেāώ āĻāĻĨা:
Exception class āĻŦুāĻāϞে āϤুāĻŽি āĻĒ্āϰোāĻ্āϰাāĻŽেāϰ āĻুāϞāĻুāϞো āĻ āύেāĻ āϏুāύ্āĻĻāϰāĻাāĻŦে āϧāϰāϤে āĻĒাāϰāĻŦা। āĻāϰ āĻāĻুāϞো āĻাāύāϞে error message āĻুāϞোāĻ āĻāϰ āĻā§ āϞাāĻāĻŦে āύা — āĻŦāϰং āĻŦুāĻে āĻĢেāϞাāϰ āĻŽāϤো āϏāĻšāĻ āĻšā§ে āϝাāĻŦে।
Exception Handling
Exception Handling āĻšāϞো āĻĒ্āϰোāĻ্āϰাāĻŽ āĻাāϞাāύোāϰ āϏāĻŽā§ āĻšāĻā§া āĻুāϞāĻুāϞো āϏুāύ্āĻĻāϰāĻাāĻŦে āϧāϰে āĻĢেāϞাāϰ āĻ āύিā§āύ্āϤ্āϰāĻŖ āĻāϰাāϰ āĻĒ্āϰāĻ্āϰিā§া।
Try-Except
try-except
āϏ্āĻেāĻāĻŽেāύ্āĻ āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰে āĻāĻŽāϰা āĻāĻŽāύ āĻোāĻĄ āĻŦ্āϞāĻ āϞিāĻি āϝেāĻাāϤে exception āĻāĻāϤে āĻĒাāϰে।
try
āĻŦ্āϞāĻে āϏেāĻ āĻুঁāĻিāĻĒূāϰ্āĻŖ āĻোāĻĄ āϰাāĻা āĻšā§, āĻāϰ except
āĻŦ্āϞāĻে āĻŦāϞা āĻšā§ — āϝāĻĻি exception āĻāĻে, āϤাāĻšāϞে āĻী āĻāϰা āĻšāĻŦে।
āĻāϰ āĻŽাāϧ্āϝāĻŽে āĻĒ্āϰোāĻ্āϰাāĻŽ āĻšāĻ াā§ āĻŦāύ্āϧ āύা āĻšā§ে, āĻŦ্āϝāĻŦāĻšাāϰāĻাāϰীāϰ āĻāύ্āϝ āϏুāύ্āĻĻāϰ āĻŦাāϰ্āϤা āĻŦা āĻŦিāĻāϞ্āĻĒ āϏāĻŽাāϧাāύ āĻĻেāĻাāϤে āĻĒাāϰে।
āĻāĻা āĻĒ্āϰোāĻ্āϰাāĻŽেāϰ āϏ্āĻĨাā§িāϤ্āĻŦ āĻŦাā§াā§ āĻāĻŦং āĻāĻāĻাāϰ-āĻĢ্āϰেāύ্āĻĄāϞি āĻāϰে āϤোāϞে।
āĻŦāϞা āϝাā§, try-except āĻĒ্āϰোāĻ্āϰাāĻŽেāϰ āĻāύ্āϝ āĻāĻāĻা āϏেāĻĢāĻি āύেāĻ! đĄ️

āĻāĻāύ āĻāϞো āĻļুāϰু āĻĨেāĻেāĻ āϝে Zero-division exception āύিā§ে āĻāĻĨা āĻŦāϞāĻিāϞাāĻŽ, āϏেāĻা āĻāĻāĻু āĻĻেāĻি
numerator = 4
denominator = 0
print(numerator / denominator)
- āĻāĻ āĻোāĻĄে āĻāĻŽāϰা ā§Ē āϏংāĻ্āϝাāĻাāĻে ā§Ļ āĻĻিā§ে āĻাāĻ āĻāϰাāϰ āĻেāώ্āĻা āĻāϰāĻি।
- āĻāĻŖিāϤে ā§Ļ āĻĻিā§ে āĻাāĻ āĻāϰা āϝাā§ āύা — āĻāĻা undefined।
- āϤাāĻ Python āĻāĻাāύে ZeroDivisionError āύাāĻŽে āĻāĻāĻি exception āϤৈāϰি āĻāϰāĻŦে।
- āĻোāĻĄāĻা āĻāϞāĻŦে āύা, āϏāϰাāϏāϰি error āĻĻেāĻিā§ে āĻĒ্āϰোāĻ্āϰাāĻŽ āĻĨেāĻŽে āϝাāĻŦে।
- āϝেāĻšেāϤু āĻāĻŽāϰা āĻāĻাāύে
try-except
āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰিāύি, āϤাāĻ Python āύিāĻেāĻ error message (ZeroDivisionError: division by zero) āĻĻেāĻাāĻŦে।
āĻāĻেāĻ āĻŦāϞেāĻি, āĻāĻ exception āĻা āĻĒাāĻāĻĨāύেāϰ āĻŽāϧ্āϝে āĻāĻে āĻĨেāĻেāĻ āĻŽ্āϝাāύেāĻ āĻāϰা āϰā§েāĻে। āϤāĻŦে āĻāĻŽāϰা āĻļিāĻāĻŦো āĻাāϏ্āĻāĻŽ exception āĻāϰ āĻাāϏ্āĻāĻŽ solution (āϏāĻŽাāϧাāύ) āϤৈāϰি āĻāϰāϤে। āϤাāϰ āĻāύ্āϝি āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāĻŦ Try-Except
⚙️ Try-Except Statement
āĻĒ্āϰোāĻ্āϰাāĻŽেāϰ āĻিāĻু āĻিāĻু āĻ ংāĻļে āĻāĻŽāύ āĻোāĻĄ āĻĨাāĻāϤে āĻĒাāϰে āϝেāĻুāϞো āĻাāϞাāύোāϰ āϏāĻŽā§ exception (āĻুāϞ āĻŦা āϏāĻŽāϏ্āϝা) āĻāĻāϤে āĻĒাāϰে।
Python āĻāĻŽাāĻĻেāϰ āϏুāϝোāĻ āĻĻেā§ āĻāĻ āϧāϰāύেāϰ āϏāύ্āĻĻেāĻšāĻāύāĻ āĻোāĻĄāĻে try
āĻŦ্āϞāĻেāϰ āĻিāϤāϰে āϰাāĻাāϰ।
try
āĻŦ্āϞāĻেāϰ āĻĒāϰে āĻĨাāĻে except
āĻŦ্āϞāĻ, āϝেāĻা āϤāĻāύāĻ āĻāϞে, āϝāĻāύ try
āĻŦ্āϞāĻেāϰ āĻŽāϧ্āϝে āĻোāύো exception āĻšā§।
āĻāĻāĻাāĻŦে āĻāĻŽāϰা exception-āĻāϰ āϏāĻŽā§ āĻĒ্āϰোāĻ্āϰাāĻŽ āĻĨাāĻŽাāύো āύা āĻিāϝ়ে āϏেāĻাāĻে āϏুāύ্āĻĻāϰāĻাāĻŦে āĻš্āϝাāύ্āĻĄেāϞ āĻāϰāϤে āĻĒাāϰি।
đ§Ē Try-Except āĻāϰ āϏাāϧাāϰāĻŖ āĻāĻ āύ:
try:
# āĻāĻাāύে āϏেāĻ āĻোāĻĄ āĻĨাāĻāĻŦে āϝেāĻাāύে exception āĻāĻāϤে āĻĒাāϰে
except Exception1:
# āϝāĻĻি Exception1 āĻāĻে, āϤাāĻšāϞে āĻāĻ āĻোāĻĄ āĻāϞāĻŦে
except Exception2:
# āϝāĻĻি Exception2 āĻāĻে, āϤাāĻšāϞে āĻāĻ āĻোāĻĄ āĻāϞāĻŦে
đ§ āĻŽāύে āϰাāĻাāϰ āĻŽāϤো āĻিāĻু āĻĒā§েāύ্āĻ:
- āĻāĻāĻি
try
āĻŦ্āϞāĻেāϰ āϏাāĻĨে āĻāĻাāϧিāĻexcept
āĻŦ্āϞāĻ āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰা āϝাā§।
- āĻোāύো
try
āĻŦ্āϞāĻ āĻĨাāĻāϞে āĻ āĻŦāĻļ্āϝāĻ āĻ āύ্āϤāϤ āĻāĻāĻিexcept
āĻŦ্āϞāĻ āĻĨাāĻা āĻŦাāϧ্āϝāϤাāĻŽূāϞāĻ।
- āĻাāĻāϞে āĻāĻŽāϰা āϏাāϧাāϰāĻŖ (general)
except
āĻ āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāϤে āĻĒাāϰি, āϝেāĻা āϏāĻŦ āϧāϰāĻŖেāϰ exception āϧāϰāϤে āĻĒাāϰে।
- āĻāϤে āĻāϰে āĻোāύো āĻ āĻাāύা āĻুāϞ āĻšāϞেāĻ āĻĒ্āϰোāĻ্āϰাāĻŽ āĻĨেāĻŽে āύা āĻিā§ে āϏেāĻ exception āĻে āĻš্āϝাāύ্āĻĄেāϞ āĻāϰে āύেā§।
đ¯ āĻোāĻ্āĻ āϰিāĻŽাāĻāύ্āĻĄাāϰ:
Exception Handling āĻļুāϧু error āĻĨেāĻে āĻŦাঁāĻাāϰ āĻāĻĒাā§ āύা, āĻāĻা āĻĒ্āϰোāĻ্āϰাāĻŽāĻে āĻāĻāĻাāϰ-āĻĢ্āϰেāύ্āĻĄāϞি, āϏ্āĻŽাāϰ্āĻ āĻāĻŦং āϰেāϏāĻĒāύāϏিāĻ āĻāϰে āϤোāϞে।
āĻāĻŽāϰা āĻāĻŦাāϰ division by zero āĻāĻĻাāĻšāϰāĻŖে āĻĢিāϰে āĻিā§ে āϤাāϤে try-except
statement āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰি āϝাāϤে error āύা āĻাā§।
try:
numerator = 4
denominator = 0
print(numerator / denominator)
except ZeroDivisionError as e:
print(e)
đ āĻŦ্āϝাāĻ্āϝা:
try
āĻŦ্āϞāĻ:āĻāĻাāύে āϏেāĻ āĻ ংāĻļে āĻোāĻĄ āϞেāĻা āĻšā§েāĻে āϝেāĻা āĻāϞাāĻাāϞীāύ exception āĻāĻāϤে āĻĒাāϰে।
āĻāĻŽāϰা ā§Ē āϏংāĻ্āϝাāĻাāĻে ā§Ļ āĻĻিā§ে āĻাāĻ āĻāϰাāϰ āĻেāώ্āĻা āĻāϰāĻি — āϝেāĻা āĻāĻŖিāϤে āϏāĻŽ্āĻāĻŦ āύা।
- Exception āĻāĻে:
print(numerator / denominator)
āϞাāĻāύে ZeroDivisionError āύাāĻŽে āĻāĻāĻা exception āĻāĻāĻŦে, āĻাāϰāĻŖ ā§Ļ āĻĻিā§ে āĻাāĻ āĻāϰা āϝাā§ āύা।
except
āĻŦ্āϞāĻ:āϝāĻāύ exception āĻāĻে, āϤāĻāύ Python āϏāϰাāϏāϰি
except
āĻŦ্āϞāĻে āĻāϞে āϝাā§।āĻāĻাāύে āĻāĻŽāϰা
ZeroDivisionError
āϧāϰেāĻি āĻāĻŦং āĻāĻিāĻেe
āύাāĻŽে āϧāϰেāĻি (āϝেāĻা āϏেāĻ exception āĻāϰ message āϧাāϰāĻŖ āĻāϰে)। āĻāĻাāύেZeroDivisionError
āĻšāϞো Exception Class āĻāĻŦংe
āĻšāϞো Exception Object.
print(e)
:āĻāĻাāύে
e
āĻāϏāϞে exception-āĻāϰ message — Python āĻŦāϞāĻŦে:division by zero
āĻāĻ āĻŽেāϏেāĻāĻা āĻāĻāĻাāϰāĻে āĻŦোāĻাāĻŦে āĻী āĻুāϞ āĻšā§েāĻে।
✅ āĻেāύ āĻāĻা Exception Handling?
- āϝāĻĻি āĻāĻŽāϰা
try-except
āύা āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāϤাāĻŽ, āϤাāĻšāϞে āĻĒ্āϰোāĻ্āϰাāĻŽ āĻ্āϰ্āϝাāĻļ āĻāϰāϤ।
- āĻিāύ্āϤু āĻāĻāύ, āĻĒ্āϰোāĻ্āϰাāĻŽ āĻŦুāĻে āĻেāĻে — “āĻাāĻ, āĻাāĻŽেāϞা āĻšāĻāĻে” — āϤাāĻ āϏেāĻা āĻš্āϝাāύ্āĻĄেāϞ āĻāϰে āϏāϤāϰ্āĻ āĻŦাāϰ্āϤা āĻĻেāĻিā§েāĻে, āĻিāύ্āϤু āĻŦাāĻি āĻĒ্āϰোāĻ্āϰাāĻŽ āĻāϞা āĻĨেāĻŽে āϝাā§āύি।
đ āĻোāĻ্āĻ āĻেāĻāĻā§ে:
āĻāĻāϰāĻāĻŽ try-except
āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰে āĻāĻŽāϰা āϝেāĻোāύো āĻুঁāĻিāĻĒূāϰ্āĻŖ āĻাāĻāĻে āύিāϰাāĻĒāĻĻে āĻāϰাāϤে āĻĒাāϰি।
āĻ িāĻ āϝেāύ, life āĻ fallback plan āĻĨাāĻāϞে āϝেāĻŽāύে āĻাāĻĒ āĻāĻŽে āϝাā§ — āĻĒ্āϰোāĻ্āϰাāĻŽেāĻ exception handling āĻŽাāύেāĻ smart fallback đĨ
āĻāĻĒāϰে āĻāĻĻাāĻšāϰāĻŖে, āĻāĻŽāϰা āĻাāύāϤাāĻŽ āϝে, āϏেāĻাāύে āĻāĻ্āϏেāĻĒāĻļāύ āĻ্āϞাāϏāĻি āĻšāĻŦে ZeroDivisionError
āϤাāĻ āĻāĻŽāϰা āϏāϰাāϏāϰি āϏেāĻা āϞিāĻে āĻিāϞাāĻŽ, āϤāĻŦে āϝāĻĻি āĻāĻŽāϰা āύা āĻাāύি āϤাāĻšāϞে āĻāĻŽāϰা base exception class - Exception
āĻে āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāĻŦ।
try:
numetator = 4
denominator = 0
print(numetator / denominator)
except Exception as e:
print(e)
⚖️ ZeroDivisionError vs Exception
āĻŦিāώ⧠| ZeroDivisionError | Exception |
---|---|---|
āϧāϰাāϰ āϧāϰāύ | āύিāϰ্āĻĻিāώ্āĻ āĻুāϞ (ā§Ļ āĻĻিā§ে āĻাāĻ) | āϏāĻŦ āϧāϰāύেāϰ runtime āĻুāϞ |
āϏ্āĻĒেāϏিāĻĢিāĻ | ✅ āĻš্āϝাঁ | ❌ āύা (āĻেāύাāϰেāϞ) |
Error āϧāϰাāϰ āĻĒāϰিāϏāϰ | āĻেāĻŦāϞ Division by Zero | āϝেāĻোāύো exception |
Maintainability | āĻŦেāĻļি āϏ্āĻĒāώ্āĻ āĻ āĻĒā§āϤে āϏāĻšāĻ | āĻāĻŽ āϏ্āĻĒāώ্āĻ, āϏāϤāϰ্āĻ āĻĨাāĻāϤে āĻšā§ |
āĻŦ্āϝāĻŦāĻšাāϰেāϰ āϏāĻŽā§ | āϝāĻāύ āύিāĻļ্āĻিāϤ āĻাāύি āĻী āĻুāϞ āĻšāĻŦে | āϝāĻāύ āĻুāϞ āύিāĻļ্āĻিāϤ āύা āĻŦা fallback āĻĻāϰāĻাāϰ |
āĻāĻĻাāĻšāϰāĻŖ | except ZeroDivisionError: | except Exception: |
đ āĻেāĻāĻā§ে:
ZeroDivisionError
āĻāĻāĻ āĻāϰো āϝāĻāύ āϤুāĻŽি āϏ্āĻĒāώ্āĻāĻাāĻŦে āĻাāύো āĻ িāĻ āĻী āϧāϰāύেāϰ āĻুāϞ āĻšāϤে āĻĒাāϰে।
Exception
āĻāĻāĻ āĻāϰো āĻুāĻŦ āϏাāĻŦāϧাāύে, āϏাāϧাāϰāĻŖāϤ āϏāĻŦāĻļেāώ fallback āĻšিāϏেāĻŦে।
đ§ Try-Except-Else āϏ্āĻেāĻāĻŽেāύ্āĻ: āĻŦ্āϝāϤিāĻ্āϰāĻŽ āĻাā§াāĻ āĻিāĻু āĻšāϤে āĻĒাāϰে!
āĻāĻŽāϰা āĻāĻেāĻ āĻļিāĻেāĻি āĻীāĻাāĻŦে try-except
āĻŦ্āϞāĻ āĻĻিā§ে āĻāĻŽাāĻĻেāϰ āĻĒ্āϰোāĻ্āϰাāĻŽে āĻুāϞ (error) āĻš্āϝাāύ্āĻĄেāϞ āĻāϰা āϝাā§। āĻāĻāĻে āĻāĻŽāϰা āĻļিāĻāĻŦো try-except-else
āϏ্āĻেāĻāĻŽেāύ্āĻ, āϝেāĻা āĻāĻŽাāĻĻেāϰ āĻāϰেāĻāĻু āĻāύāĻ্āϰোāϞ āĻĻেā§।
đ āϏিāύāĻ্āϝাāĻ্āϏ:
try:
# āĻāĻাāύে āĻāĻŽāύ āĻোāĻĄ āĻĨাāĻāĻŦে āϝেāĻা error āĻāϰāϤে āĻĒাāϰে
except SomeException:
# error āϧāϰāϞে āĻāĻাāύে āĻāϞে āĻāϏāĻŦে
else:
# āϝāĻĻি āĻোāύো error āύা āĻšā§, āϤাāĻšāϞে āĻāĻ āĻŦ্āϞāĻāĻা āϰাāύ āĻšāĻŦে
đ¤ āϤাāĻšāϞে else
āĻŦ্āϞāĻ āĻāĻŦে āĻāϞে?
else
āĻŦ্āϞāĻ āϤāĻāύāĻ āĻāϞে, āϝāĻāύ try
āĻŦ্āϞāĻেāϰ āĻোāĻĄ āĻāĻāĻা error āĻাā§াāĻ āϏāĻĢāϞāĻাāĻŦে āĻļেāώ āĻšā§।
āĻāϰ āϝāĻĻি try
āĻŦ্āϞāĻে exception āĻāĻ ে, āϤাāĻšāϞে except
āĻŦ্āϞāĻ āϰাāύ āĻšāĻŦে, else
āĻŦ্āϞāĻ āĻāϰ āϰাāύ āĻšāĻŦে āύা।
✅ āĻāĻāĻা āĻāĻ্āϏাāĻŽ্āĻĒāϞ āĻĻেāĻি:
try:
number = int(input("āĻĻā§া āĻāϰে āĻāĻāĻা āϏংāĻ্āϝা āĻĻাāĻ: "))
except ValueError:
print("āĻাāĻ, āϤুāĻŽি āĻāĻāĻা āϏংāĻ্āϝাāϰ āĻŦāĻĻāϞে āĻ
āύ্āϝ āĻিāĻু āĻĻিāϞে āĻেāύ!")
else:
print("āϤুāĻŽি āϝেāĻা āϞিāĻāĻো, āϏেāĻা āϏংāĻ্āϝা। āϧāύ্āϝāĻŦাāĻĻ!")
đ āĻŦ্āϝাāĻ্āϝা:
- āϝāĻĻি āĻāĻāĻাāϰ āϏংāĻ্āϝা āĻĻেā§, āϤাāĻšāϞে
try
āĻŦ্āϞāĻে āĻোāύো error āĻšāĻŦে āύা, āϤাāĻelse
āĻŦ্āϞāĻ āϰাāύ āĻāϰāĻŦে।
- āĻিāύ্āϤু āϝāĻĻি āĻāĻāĻাāϰ āϏংāĻ্āϝা āĻাā§া āĻিāĻু āĻĻেā§ (āϝেāĻŽāύ: 'abc'), āϤাāĻšāϞে
ValueError
āĻāĻ āĻŦে,except
āĻŦ্āϞāĻ āĻাāϞু āĻšāĻŦে, āĻāϰelse
āϏ্āĻিāĻĒ āĻšāĻŦে।
đĨ āĻেāύ else
āĻĻāϰāĻাāϰ?
āĻ āύেāĻ āϏāĻŽā§ āĻāĻŽāϰা āĻাāĻ, āϝāĻĻি āϏāĻŦ āĻিāĻু āĻ িāĻāĻ াāĻ āĻāϞে āϤাāĻšāϞে āĻāĻāĻা āύিāϰ্āĻĻিāώ্āĻ āĻাāĻ āĻāϰāĻŦো। āĻিāύ্āϤু āϝāĻĻি exception āĻāĻ ে, āϤāĻāύ āĻāĻ āĻাāĻāĻা āύা āĻāϰি।
āĻāĻা āĻোāĻĄāĻে āĻ্āϞিāύ āĻ readable āĻāϰে āϤোāϞে।
đ āĻļেāώ āĻāĻĨা:
try-except-else
āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāϞে āϤোāĻŽাāϰ āĻĒ্āϰোāĻ্āϰাāĻŽ āĻāϰāĻ āύিā§āύ্āϤ্āϰিāϤ, āϏুāĻĒāϰিāĻāϞ্āĻĒিāϤ āĻšā§। āĻĄেāĻেāϞāĻĒাāϰ āĻšিāϏেāĻŦে āĻāĻŽাāĻĻেāϰ āϞāĻ্āώ্āϝ āĻšāĻā§া āĻāĻিāϤ āĻোāĻĄে āϏāĻŽ্āĻাāĻŦ্āϝ āϏāĻŦ āĻĒāϰিāϏ্āĻĨিāϤি āĻš্āϝাāύ্āĻĄেāϞ āĻāϰা। So, else
āĻŦ্āϞāĻāĻা āĻুāϞে āϝেāĻ āύা! ✨
đĨ Try-Except-Finally āϏ্āĻেāĻāĻŽেāύ্āĻ: āĻļেāώ āĻĒāϰ্āϝāύ্āϤ āĻāĻŽি āĻাāϞাāĻŦোāĻ!
āĻāĻŽāϰা āĻাāύি, āĻোāύো exception āĻāĻ āϞে except
āĻŦ্āϞāĻ āĻāϞে, āĻāϰ āύা āĻāĻ āϞে else
āĻŦ্āϞāĻ āĻāϞে।
āĻিāύ্āϤু āĻিāĻু āĻিāĻু āĻোāĻĄ āĻĨাāĻে āϝেāĻা āϏāĻŦāϏāĻŽā§ āĻাāϞাāϤে āĻšā§, āϏেāĻা error āĻĨাāĻুāĻ āĻāϰ āύাāĻ āĻĨাāĻুāĻ।
āϏেāĻ āĻাāĻāĻা āĻāϰাāϰ āĻāύ্āϝāĻ āĻāĻে ➤ finally
āĻŦ্āϞāĻ।
đ āϏিāύāĻ্āϝাāĻ্āϏ:
try:
# āϰিāϏ্āĻি āĻোāĻĄ
except SomeException:
# error āϧāϰাāϰ āĻাāĻ
finally:
# āϝাāĻ āĻšোāĻ, āĻāĻŽি āϤো āĻāϞāĻŦāĻ
✅ āĻāĻĻাāĻšāϰāĻŖ:
try:
num = int(input("āĻāĻāĻা āϏংāĻ্āϝা āĻĻাāĻ: "))
result = 10 / num
except ValueError:
print("āϏংāĻ্āϝা āĻাā§া āĻিāĻু āĻĻিāϞে āĻāϞāĻŦে āύা āĻাāĻ!")
except ZeroDivisionError:
print("ā§Ļ āĻĻিā§ে āĻাāĻ āĻāϰা āϝাā§ āύা!")
finally:
print("āϧāύ্āϝāĻŦাāĻĻ, āĻĒ্āϰোāĻ্āϰাāĻŽ āĻļেāώ āĻšā§েāĻে।")
đ āĻŦ্āϝাāĻ্āϝা:
- āĻāĻāĻাāϰ āϝāĻĻি āϏংāĻ্āϝা āύা āĻĻেā§ →
ValueError
āĻāĻ āĻŦে → āϏেāĻ āĻŦ্āϞāĻ āϰাāύ āĻšāĻŦে।
- āĻāĻāĻাāϰ āϝāĻĻি ā§Ļ āĻĻেā§ →
ZeroDivisionError
āĻāĻ āĻŦে → āϏেāĻ āĻŦ্āϞāĻ āϰাāύ āĻšāĻŦে।
- āĻāĻāĻাāϰ āϝāĻĻি āĻ িāĻāĻ াāĻ āϏংāĻ্āϝা āĻĻেā§ →
try
āĻŦ্āϞāĻ āϏāĻĢāϞāĻাāĻŦে āĻāϞāĻŦে।
- āĻিāύ্āϤু āϏāĻŦ āĻ্āώেāϤ্āϰেāĻ
finally
āĻŦ্āϞāĻেāϰ āϞাāĻāύāĻা āĻļেāώ āĻĒāϰ্āϝāύ্āϤ āĻাāϞāĻŦেāĻ।
đ¤ finally
āĻেāύ āĻĻāϰāĻাāϰ?
āϧāϰো āϤুāĻŽি āĻোāύো āĻĢাāĻāϞ āĻāĻĒেāύ āĻāϰেāĻো āĻŦা āĻĄাāĻাāĻŦেāϏ āĻাāύেāĻāĻļāύ āĻāϰেāĻো।
āĻĒ্āϰোāĻ্āϰাāĻŽে error āĻĨাāĻāϞে āϤুāĻŽি āϏেāĻ āĻĢাāĻāϞ āĻŦা āĻাāύেāĻāĻļāύ āĻŦāύ্āϧ āĻāϰāϤে āĻুāϞে āϝেāϤে āĻĒাāϰো।
āϤāĻāύ finally
āĻŦ্āϞāĻ āĻĻিā§ে āϤুāĻŽি āύিāĻļ্āĻিāϤ āĻāϰāϤে āĻĒাāϰো, āĻĢাāĻāϞ āĻŦāύ্āϧ āĻšোāĻ, āϰিāϏোāϰ্āϏ āĻ্āϞিāύ āĻšোāĻ — āϝাāĻ āĻšোāĻ, execute āĻšāĻŦেāĻ।
✅ āĻāĻĻাāĻšāϰāĻŖ (āĻĢাāĻāϞ āĻš্āϝাāύ্āĻĄāϞিং):
try:
file = open("data.txt", "r")
content = file.read()
print(content)
except FileNotFoundError:
print("āĻĢাāĻāϞāĻা āĻুঁāĻে āĻĒেāϞাāĻŽ āύা!")
finally:
file.close()
print("āĻĢাāĻāϞ āĻŦāύ্āϧ āĻāϰে āĻĻিāϞাāĻŽ।")
đ§ Summary:
Block | āĻāĻāύ āĻāϞে? |
---|---|
try | āϏāĻŦāϏāĻŽā§ āĻেāώ্āĻা āĻāϰāĻŦে āĻোāĻĄ āĻাāϞাāϤে |
except | try āĻŦ্āϞāĻে error āĻāĻ āϞে āĻāϞে |
else | try āϏāĻĢāϞāĻাāĻŦে āĻāϞāϞে, āĻāϰ error āύা āĻāĻ āϞে |
finally | error āĻāĻ ুāĻ āĻŦা āύা āĻāĻ ুāĻ — āĻāϞāĻŦেāĻ! |
āĻāϞো āĻāĻŦাāϰ āϤোāĻŽāϰা āĻāĻāĻা āĻĢাāĻāϞ āĻāĻĒেāύ āĻāϰে try-except-finally
āĻĻিā§ে āĻāĻŽāύ āĻāĻāĻা āĻোāĻĄ āϞেāĻো, āϝেāĻা āĻĢাāĻāϞ āϰিāĻĄ āĻāϰে, exception āĻš্āϝাāύ্āĻĄেāϞ āĻāϰে, āĻāĻŦং āϏāĻŦāĻļেāώে āĻĢাāĻāϞ āĻŦāύ্āϧ āĻāϰে।
āĻāĻŽি āĻĒাāĻļে āĻāĻি! đ¤✨
āĻোāĻĄ āĻāϰো, āĻুāϞ āĻāϰো, āĻļিāĻো — āĻাāϰāĻŖ āĻāĻŽāϰা āĻোāĻু āĻĒ্āϰোāĻ্āϰাāĻŽাāϰ! đđ
𧨠raise āĻĻিā§ে āύিāĻেāϰ āĻŽāϤো error āϤোāϞা (Custom Exception)
āĻāĻŽāϰা āĻāĻেāĻ āĻļিāĻেāĻি — Python āύিāĻে āĻĨেāĻে āĻ āύেāĻ error āϤোāϞে। āϝেāĻŽāύঃ
- āϏংāĻ্āϝা āĻাā§া āĻিāĻু āĻĻিāϞে ➤
ValueError
- ā§Ļ āĻĻিā§ে āĻাāĻ āĻāϰāϞে ➤
ZeroDivisionError
āĻিāύ্āϤু āϧāϰো āϤুāĻŽি āĻাāĻāĻো — āĻেāĻ āϝāĻĻি āϤোāĻŽাāϰ āĻĒ্āϰোāĻ্āϰাāĻŽে āĻুāϞ input āĻĻেā§, āϤāĻāύ āϤুāĻŽি āύিāĻেāĻ error āϤুāϞāĻŦে।
āĻāĻ āĻাāĻāĻা āĻāϰাāϰ āĻāύ্āϝ Python-āĻ āĻāĻে ➤ raise
✅ āϏাāϧাāϰāĻŖ raise
āĻŦ্āϝāĻŦāĻšাāϰ
age = -5
if age < 0:
raise ValueError("āĻŦā§āϏ āĻāĻāύো āĻāĻŖাāϤ্āĻŽāĻ āĻšāϤে āĻĒাāϰে āύা!")
đ§ āĻāĻাāύে āĻী āĻšāϞো?
- āϝāĻĻি āĻŦā§āϏ ā§Ļ-āĻāϰ āĻāĻŽ āĻšā§, āϤাāĻšāϞে āĻāĻŽāϰা āύিāĻেāϰা
ValueError
āϤুāϞāĻি।
- Python āĻāϰ āĻŽāϤো āĻāϰেāĻ āĻāĻŽāϰাāĻ āĻŦāϞāϤে āĻĒাāϰি ➤ "āĻুāϞ āĻšāĻāĻে, āĻāϞ āĻĒ্āϰোāĻ্āϰাāĻŽ āĻĨাāĻŽাāĻ" đ
đĨ āĻাāϏ্āĻāĻŽ Exception āϤৈāϰি
āĻāĻŽāϰা āĻাāĻāϞে āύিāĻেāϰ āĻŽāϤো error class āĻŦাāύাāϤে āĻĒাāϰি।
āĻāĻĻাāĻšāϰāĻŖ:
# Step 1: āύāϤুāύ āĻāĻāĻা āĻāĻ্āϏেāĻĒāĻļāύ āĻŦাāύাāĻ
class UnderAgeError(Exception):
pass
# Step 2: āĻĢাংāĻļāύে āĻŦā§āϏ āĻেāĻ āĻāϰি
def check_age(age):
if age < 18:
raise UnderAgeError("āϤোāĻŽাāϰ āĻŦā§āϏ ā§§ā§Ž-āĻāϰ āĻāĻŽ, āϤুāĻŽি āĻāĻ āϏাāĻāĻে āĻĸুāĻāϤে āĻĒাāϰো āύা!")
# Step 3: āĻāĻāύ try-except āĻĻিā§ে call āĻāϰি
try:
check_age(15)
except UnderAgeError as e:
print("āĻুāϞ:", e)
đ§ āĻāĻাāύে āĻী āĻšāĻ্āĻে?
- āĻāĻŽāϰা
UnderAgeError
āύাāĻŽে āύিāĻāϏ্āĻŦ error āĻŦাāύাāϞাāĻŽ।
- āϝāĻāύ āĻেāĻ ā§§ā§Ž āĻŦāĻāϰেāϰ āĻāĻŽ āĻšā§, āϤāĻāύ āĻāĻ error āϤুāϞি।
- āϤাāϰāĻĒāϰ
except
āĻŦ্āϞāĻে āϏেāĻা āϧāϰে āĻĢেāϞি।
đ āĻেāύ raise
āĻĻāϰāĻাāϰ?
āĻāĻāύ āĻĻāϰāĻাāϰ | āĻāĻĻাāĻšāϰāĻŖ |
---|---|
āĻāĻāĻাāϰ input āĻ িāĻ āύা | āĻŦā§āϏ ā§Ļ āĻŦা āύেāĻেāĻিāĻ |
āϤুāĻŽি āĻাāĻāĻো āĻেāĻ āĻোāύো āύিā§āĻŽ āύা āĻাāĻে | ā§§ā§Ž’āϰ āύিāĻে access āύা āĻĒাā§ |
āĻোāĻĄে āϏāĻŽāϏ্āϝা āϧāϰāϤে | āĻĄাāĻা āĻĢাঁāĻা āĻĨাāĻāϞে raise āĻāϰো |
đ§Ē āϤোāĻŽাāϰ āĻাāĻ (Practice):
āϤুāĻŽি āĻāĻāĻা āĻĢাংāĻļāύ āϞিāĻো ➤ square_root(x)
āϝেāĻাāύে āϝāĻĻি āĻেāĻ x
āĻāϰ āĻ্āϝাāϞু āύেāĻেāĻিāĻ āĻĻেā§, āϤāĻāύ āϤুāĻŽি raise NegativeNumberError
āĻāϰে āĻĻেāĻŦে।
āĻāϞো āĻĻেāĻি āĻে āĻে āĻĒাāϰে! ✌️
đ āĻŽāύে āϰাāĻো āĻাāĻ, āĻোāĻĄিং āĻŽাāύে āĻļুāϧু āĻাāĻ āύা — āĻাāϞোāĻাāĻŦে āĻুāϞ āĻš্āϝাāύ্āĻĄেāϞ āĻāϰাāĻাāĻ āĻāĻāĻা āϏ্āĻিāϞ!
āĻāϰ āĻāĻŽāϰা, āĻোāĻু āĻĒ্āϰোāĻ্āϰাāĻŽাāϰāϰা, āϏāĻŦāϏāĻŽā§ āĻĒেāĻļাāĻĻাāϰ āĻŽāϤো āĻোāĻĄ āĻāϰি đģđ
✅ assert
: āĻেāĻ āĻāϰো, āĻুāϞ āĻšāϞে āϏāĻ্āĻে āϏāĻ্āĻে āϧāϰো!
assert
āĻšāĻ্āĻে Python-āĻāϰ āĻāĻāĻা āĻĄিāĻŦাāĻিং āĻুāϞ। āĻāĻা āĻĻিā§ে āϤুāĻŽি āĻŦāϞো,
“āĻāĻ āĻļāϰ্āϤāĻা āϝāĻĻি āĻুāϞ āĻšā§, āϤাāĻšāϞে āϏāϰাāϏāϰি āĻāĻŽাāĻে āĻাāύাāĻ — āĻāĻŽি āĻāĻ āĻোāĻĄ āĻাāϞাāϤে āĻাāĻ āύা।”
āĻāĻāĻĻāĻŽ āϏāĻšāĻ āĻাāώাā§, āĻāĻা āĻšāϞো "āĻাāĻ, āĻāĻāĻা āϏāϤ্āϝ āύা āĻšāϞে āĻāĻŽি āĻĨেāĻŽে āϝাāĻŦো!" đ¤
đ assert
āĻāϰ āĻŦ্āϝāĻŦāĻšাāϰ
x = 10
assert x > 0
print("x āĻĒāĻিāĻিāĻ, āϏāĻŦ āĻ িāĻ āĻāĻে!")
đ§ āĻŦ্āϝাāĻ্āϝা:
assert
āĻেāĻ āĻāϰেx > 0
āϏāϤ্āϝ āĻিāύা।
- āϝāĻĻি āϏāϤ্āϝ āĻšā§ ➤ āĻĒ্āϰোāĻ্āϰাāĻŽ āĻāϞāĻŦে।
- āϝāĻĻি āĻŽিāĻĨ্āϝা āĻšā§ ➤ Error (AssertionError) āĻāĻ āĻŦে āĻāĻŦং āĻĒ্āϰোāĻ্āϰাāĻŽ āĻĨেāĻŽে āϝাāĻŦে।
❌ āϝāĻĻি āĻļāϰ্āϤ āĻুāϞ āĻšā§?
x = -5
assert x > 0, "x āύেāĻেāĻিāĻ, āĻāĻা āĻ িāĻ āύা!"
āĻāĻাāύে x > 0
āĻŽিāĻĨ্āϝা, āϤাāĻ āύিāĻেāϰ āĻŽāϤো error āĻāϏāĻŦে:
AssertionError: x āύেāĻেāĻিāĻ, āĻāĻা āĻ িāĻ āύা!
đ¯ assert
āĻāĻŦে āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāĻŦো?
āĻāĻāύ | āĻāĻĻাāĻšāϰāĻŖ |
---|---|
āĻĒ্āϰোāĻ্āϰাāĻŽে āĻিāĻু āϧāϰেāĻ āύিāĻ্āĻো āϝে āϏāϤ্āϝ āĻšāĻŦে | āϝেāĻŽāύঃ āĻāĻāĻাāϰ āύাāĻŽ্āĻŦাāϰāĻ āĻĻিāĻŦে |
āĻোāĻĄে āĻুāϞ āĻāϏāϞে āϏāĻ্āĻে āϏāĻ্āĻে āϧāϰāϤে āĻাāĻ | āϝেāύো āĻŦā§ āĻুāϞ āĻšāĻā§াāϰ āĻāĻেāĻ āĻĨেāĻŽে āϝাā§ |
āĻĄেāĻেāϞāĻĒāĻŽেāύ্āĻ āĻাāĻāĻŽে āĻেāϏ্āĻ āĻāϰাāϰ āĻāύ্āϝ | āĻĒ্āϰোāĻĄাāĻāĻļāύ-āĻ āύা, āĻļেāĻাāϰ āϏāĻŽā§ āĻŦা āύিāĻেāϰ āĻেāĻিং-āĻāϰ āĻāύ্āϝ |
✅ āĻāϰেāĻāĻা āϰিā§েāϞ āϞাāĻāĻĢ āĻāĻĻাāĻšāϰāĻŖ:
def withdraw(balance, amount):
assert amount <= balance, "āϤোāĻŽাāϰ āĻŦ্āϝাāϞেāύ্āϏে āĻāϤ āĻাāĻা āύাāĻ!"
return balance - amount
print(withdraw(1000, 1200))
āĻāĻ āĻোāĻĄে āϝāĻĻি āĻেāĻ ā§§ā§Ļā§Ļā§Ļ āĻাāĻা āϰেāĻে ⧧⧍ā§Ļā§Ļ āĻাāĻা āϤুāϞāϤে āĻাā§, āϏāĻ্āĻে āϏāĻ্āĻে AssertionError āĻāĻ ে āϝাāĻŦে।
đ āϏāϤāϰ্āĻāϤা:
⚠️ āĻĒ্āϰোāĻĄাāĻāĻļāύ āĻোāĻĄে assert āϏāĻŦāϏāĻŽā§ ON āĻĨাāĻে āύা।āϤাāĻ important validation āĻāϰ āĻāύ্āϝ
raise
āĻŦা proper if-else āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰো।
assert
āĻļুāϧু internal check/test/debugging āĻāϰ āĻāύ্āϝāĻ āĻাāϞো।
✅ āϤোāĻŽাāϰ āĻাāϏ্āĻ:
āĻāĻāĻা āĻĢাংāĻļāύ āϞিāĻো ➤ calculate_average(numbers)
- assert āĻĻিā§ে āĻেāĻ āĻāϰো, āϞিāϏ্āĻāĻা āĻাāϞি āύা।
- āϤাāϰāĻĒāϰ āĻā§ āĻŦেāϰ āĻāϰো।
đ¯ āĻļেāώ āĻāĻĨা:
assert
āĻšāĻ্āĻে āϤোāĻŽাāϰ āĻোāĻĄেāϰ āϏেāĻ āĻŦāύ্āϧু, āϝে āĻুāĻĒāĻাāĻĒ āĻŦāϏে āĻĨাāĻে — āĻিāύ্āϤু āϝāĻāύāĻ āĻোāύো āĻুāϞ āĻĻেāĻে, āĻŦāϞে ➤
"āĻাāĻ, āĻāĻāĻা āĻ িāĻ āύা, āĻāĻāĻĻāĻŽāĻ āύা!" đ¤
āĻāϰ āĻāĻŽāϰা — āĻোāĻু āĻĒ্āϰোāĻ্āϰাāĻŽাāϰāϰা — āĻļুāϧু āĻোāĻĄāĻ āϞিāĻি āύা, āĻāĻŽāϰা āĻুāϞ āϧāϰāϤেāĻ āĻŽাāϏ্āĻাāϰ! đąđģ