Files and Exceptions Handling in Python | Bangla Documentation

Handing

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() āĻ•ে āĻ•āϞ āĻ•āϰেāĻ›ি।

āφāϰো āĻāĻ•āϟি āĻŦিāώ⧟ āφāĻĒāύাāĻĻেāϰ āϜেāύে āϰাāĻ–া āĻ­াāϞো, āĻĒাāχāĻĨāύে āϏাāϧাāϰāĻŖāϤ āĻĻুāχ āϧāϰāύেāϰ āĻĢাāχāϞ āύি⧟ে āĻ•াāϜ āĻ•āϰা āϝা⧟, āϏেāĻ—ুāϞো āĻšāϞোঃ

  1. āϟেāĻ•্āϏāϟ āĻĢাāχāϞ (Text file): āĻāϰ āĻĢাāχāϞ āĻāĻ•্āϏāϟেāύāĻļāύ āĻšāϞো .txt
  1. āĻŦাāχāύাāϰি āĻĢাāχāϞ (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)
  1. āĻāχ āĻ•োāĻĄে āφāĻŽāϰা ā§Ē āϏংāĻ–্āϝাāϟাāĻ•ে ā§Ļ āĻĻি⧟ে āĻ­াāĻ— āĻ•āϰাāϰ āϚেāώ্āϟা āĻ•āϰāĻ›ি।
  1. āĻ—āĻŖিāϤে ā§Ļ āĻĻি⧟ে āĻ­াāĻ— āĻ•āϰা āϝা⧟ āύা — āĻāϟা undefined।
  1. āϤাāχ Python āĻāĻ–াāύে ZeroDivisionError āύাāĻŽে āĻāĻ•āϟি exception āϤৈāϰি āĻ•āϰāĻŦে।
  1. āĻ•োāĻĄāϟা āϚāϞāĻŦে āύা, āϏāϰাāϏāϰি error āĻĻেāĻ–ি⧟ে āĻĒ্āϰোāĻ—্āϰাāĻŽ āĻĨেāĻŽে āϝাāĻŦে।
  1. āϝেāĻšেāϤু āφāĻŽāϰা āĻāĻ–াāύে 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)

🔍 āĻŦ্āϝাāĻ–্āϝা:

  1. try āĻŦ্āϞāĻ•:

    āĻāĻ–াāύে āϏেāχ āĻ…ংāĻļে āĻ•োāĻĄ āϞেāĻ–া āĻšā§ŸেāĻ›ে āϝেāϟা āϚāϞাāĻ•াāϞীāύ exception āϘāϟāϤে āĻĒাāϰে

    āφāĻŽāϰা ā§Ē āϏংāĻ–্āϝাāϟাāĻ•ে ā§Ļ āĻĻি⧟ে āĻ­াāĻ— āĻ•āϰাāϰ āϚেāώ্āϟা āĻ•āϰāĻ›ি — āϝেāϟা āĻ—āĻŖিāϤে āϏāĻŽ্āĻ­āĻŦ āύা।

  1. Exception āϘāϟে:

    print(numerator / denominator) āϞাāχāύে ZeroDivisionError āύাāĻŽে āĻāĻ•āϟা exception āϘāϟāĻŦে, āĻ•াāϰāĻŖ ā§Ļ āĻĻি⧟ে āĻ­াāĻ— āĻ•āϰা āϝা⧟ āύা।

  1. except āĻŦ্āϞāĻ•:

    āϝāĻ–āύ exception āϘāϟে, āϤāĻ–āύ Python āϏāϰাāϏāϰি except āĻŦ্āϞāĻ•ে āϚāϞে āϝা⧟।

    āĻāĻ–াāύে āφāĻŽāϰা ZeroDivisionError āϧāϰেāĻ›ি āĻāĻŦং āĻāϟিāĻ•ে e āύাāĻŽে āϧāϰেāĻ›ি (āϝেāϟা āϏেāχ exception āĻāϰ message āϧাāϰāĻŖ āĻ•āϰে)। āĻāĻ–াāύে ZeroDivisionError āĻšāϞো Exception Class āĻāĻŦং e āĻšāϞো Exception Object.

  1. 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

āĻŦিāώ⧟ZeroDivisionErrorException
āϧāϰাāϰ āϧāϰāύāύিāϰ্āĻĻিāώ্āϟ āĻ­ুāϞ (ā§Ļ āĻĻি⧟ে āĻ­াāĻ—)āϏāĻŦ āϧāϰāύেāϰ 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āϏāĻŦāϏāĻŽā§Ÿ āϚেāώ্āϟা āĻ•āϰāĻŦে āĻ•োāĻĄ āϚাāϞাāϤে
excepttry āĻŦ্āϞāĻ•ে error āωāĻ āϞে āϚāϞে
elsetry āϏāĻĢāϞāĻ­াāĻŦে āϚāϞāϞে, āφāϰ error āύা āωāĻ āϞে
finallyerror āωāĻ ুāĻ• āĻŦা āύা āωāĻ ুāĻ• — āϚāϞāĻŦেāχ!

āϚāϞো āĻāĻŦাāϰ āϤোāĻŽāϰা āĻāĻ•āϟা āĻĢাāχāϞ āĻ“āĻĒেāύ āĻ•āϰে 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 āĻšāϚ্āĻ›ে āϤোāĻŽাāϰ āĻ•োāĻĄেāϰ āϏেāχ āĻŦāύ্āϧু, āϝে āϚুāĻĒāϚাāĻĒ āĻŦāϏে āĻĨাāĻ•ে — āĻ•িāύ্āϤু āϝāĻ–āύāχ āĻ•োāύো āĻ­ুāϞ āĻĻেāĻ–ে, āĻŦāϞে ➤

"āĻ­াāχ, āĻāχāϟা āĻ িāĻ• āύা, āĻāĻ•āĻĻāĻŽāχ āύা!" 😤

āφāϰ āφāĻŽāϰা — āĻ•োāϚু āĻĒ্āϰোāĻ—্āϰাāĻŽাāϰāϰা — āĻļুāϧু āĻ•োāĻĄāχ āϞিāĻ–ি āύা, āφāĻŽāϰা āĻ­ুāϞ āϧāϰāϤেāĻ“ āĻŽাāϏ্āϟাāϰ! 🌱đŸ’ģ


About the author

MD Zakaria Hossen
Hi! I am Zakaria. I am the founder of Kochu Programmer. I want to spread tech knowledge to everyone.

Post a Comment