Flask এর বিল্ট-ইন Error Handling

Flask এর Error Handling এবং Custom Error Pages - ফ্লাস্ক (Flask) - Web Development

223

Flask অ্যাপ্লিকেশন তৈরির সময় Error Handling একটি গুরুত্বপূর্ণ বিষয়। Flask-এ Error Handling বা ত্রুটি পরিচালনা করার জন্য একটি সহজ এবং শক্তিশালী ব্যবস্থা রয়েছে, যার মাধ্যমে আপনি অ্যাপ্লিকেশনে ঘটে যাওয়া ত্রুটিগুলো সহজে ধরতে এবং সেগুলি যথাযথভাবে হ্যান্ডেল করতে পারেন।

Flask স্বয়ংক্রিয়ভাবে কিছু সাধারণ HTTP ত্রুটি (যেমন 404, 500) পরিচালনা করে, তবে আপনি চাইলে কাস্টম Error Pages তৈরি করে সেগুলোর জন্য নিজস্ব রেসপন্স দিতে পারেন।


১. Flask এর Built-in Error Handling

Flask কিছু সাধারণ HTTP ত্রুটি যেমন 404 (Not Found) এবং 500 (Internal Server Error) স্বয়ংক্রিয়ভাবে হ্যান্ডেল করে এবং আপনি চাইলে কাস্টম ত্রুটি পেজ তৈরি করতে পারেন।

উদাহরণ:

  1. 404 Error: যখন ব্যবহারকারী একটি ভুল URL প্রবেশ করে, Flask ডিফল্টভাবে একটি 404 ত্রুটি পৃষ্ঠা প্রদর্শন করবে।
  2. 500 Error: যখন সার্ভারে কোনো অপ্রত্যাশিত ত্রুটি ঘটে, তখন এটি একটি 500 ত্রুটি প্রদর্শন করবে।

Flask-এ ত্রুটির পেজ কাস্টমাইজ করা সম্ভব, এবং @app.errorhandler() ডেকোরেটর ব্যবহার করে আপনি কাস্টম error pages তৈরি করতে পারেন।


২. Error Handler ব্যবহার করে কাস্টম Error Page তৈরি করা

Flask-এ আপনি @app.errorhandler() ডেকোরেটর ব্যবহার করে বিভিন্ন ধরনের HTTP ত্রুটির জন্য কাস্টম error page তৈরি করতে পারেন।

উদাহরণ:

from flask import Flask, render_template

app = Flask(__name__)

# 404 ত্রুটি হ্যান্ডল করা
@app.errorhandler(404)
def page_not_found(e):
    return render_template('404.html'), 404

# 500 ত্রুটি হ্যান্ডল করা
@app.errorhandler(500)
def internal_error(e):
    return render_template('500.html'), 500

@app.route("/")
def home():
    return "হোমপেজ"

if __name__ == "__main__":
    app.run(debug=True)

এখানে:

  • @app.errorhandler(404): এটি 404 ত্রুটি জন্য কাস্টম পেজ তৈরি করবে।
  • @app.errorhandler(500): এটি 500 ত্রুটি জন্য কাস্টম পেজ তৈরি করবে।

এবং এই কোডের মধ্যে 404 এবং 500 ত্রুটি সম্পর্কিত কাস্টম পৃষ্ঠা 404.html এবং 500.html টেমপ্লেট ফাইলের মাধ্যমে রেন্ডার করা হবে।


৩. HTML Error Pages তৈরি করা

আপনি 404.html এবং 500.html টেমপ্লেট ফাইল তৈরি করে কাস্টম error pages তৈরি করতে পারেন।

templates/404.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>পৃষ্ঠাটি পাওয়া যায়নি (404)</title>
</head>
<body>
    <h1>দুঃখিত, আপনি যে পৃষ্ঠা খুঁজছেন তা পাওয়া যায়নি!</h1>
    <p><a href="/">হোমপেজে ফিরে যান</a></p>
</body>
</html>

templates/500.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>অভ্যন্তরীণ ত্রুটি (500)</title>
</head>
<body>
    <h1>অভ্যন্তরীণ ত্রুটি ঘটেছে! দুঃখিত, আমরা সমস্যাটি সমাধান করছি।</h1>
    <p><a href="/">হোমপেজে ফিরে যান</a></p>
</body>
</html>

এখানে:

  • 404.html ফাইলটি 404 ত্রুটি হলে দেখানো হবে।
  • 500.html ফাইলটি 500 ত্রুটি হলে দেখানো হবে।

৪. Custom Error Message এবং Logs

কাস্টম ত্রুটি মেসেজ এবং লগস (logs) ব্যবহার করে আপনি ত্রুটির আরও বিস্তারিত তথ্য দেখতে পারবেন। Flask-এ app.logger ব্যবহার করে লগ তৈরি করা যায়।

উদাহরণ:

import logging
from flask import Flask

app = Flask(__name__)

# লগিং কনফিগারেশন
app.logger.setLevel(logging.INFO)

@app.route("/error")
def error():
    app.logger.error('এটি একটি কাস্টম ত্রুটি মেসেজ!')
    return "ত্রুটি ঘটেছে!", 500

if __name__ == "__main__":
    app.run(debug=True)

এখানে:

  • app.logger.error(): এটি ত্রুটির লগ তৈরি করে।
  • লগগুলি Flask অ্যাপ্লিকেশনের কনসোলে বা ফাইল সিস্টেমে সংরক্ষণ করা যেতে পারে, যদি আপনি সেটআপ করেন।

৫. Flask Error Handling এর অন্যান্য ফিচার

  • Exception Handling: Flask একটি সাধারণ try-except ব্লক ব্যবহার করে ত্রুটি ধরতে এবং হ্যান্ডল করতে সক্ষম।
  • Flask Debug Mode: ডিবাগ মোডে Flask স্বয়ংক্রিয়ভাবে কিছু সাধারণ ত্রুটি দেখানোর জন্য একটি ডিবাগ পৃষ্ঠা প্রদর্শন করে। আপনি এটি app.run(debug=True) দিয়ে সক্রিয় করতে পারেন।

৬. Flask Error Handling এর সুবিধা

  1. কাস্টম Error Pages: আপনি সহজেই আপনার অ্যাপ্লিকেশনটির ত্রুটির জন্য কাস্টম পৃষ্ঠা তৈরি করতে পারেন।
  2. ব্যবহারকারী অভিজ্ঞতা (UX): কাস্টম error pages ব্যবহারকারীদের জন্য একটি পরিষ্কার এবং সুন্দর অভিজ্ঞতা প্রদান করে, যেখানে তারা সহজেই মূল পৃষ্ঠায় ফিরে যেতে পারে।
  3. ত্রুটি লোগিং: লগ তৈরি করে আপনি ত্রুটির উৎস এবং কারণ চিহ্নিত করতে পারেন।
  4. Debugging: ডিবাগ মোডে ত্রুটির বিস্তারিত বার্তা দেখানোর মাধ্যমে ডেভেলপমেন্টে সহায়ক হয়।

Flask-এ Error Handling এর জন্য @app.errorhandler() ডেকোরেটর ব্যবহার করা হয়, যা আপনাকে HTTP ত্রুটির জন্য কাস্টম error pages তৈরি করার সুযোগ দেয়। এর মাধ্যমে আপনি আপনার অ্যাপ্লিকেশনের ত্রুটির প্রতিক্রিয়া ব্যবহারকারীদের জন্য আরও পরিষ্কার এবং অর্থপূর্ণ করতে পারেন। app.logger ব্যবহার করে ত্রুটির লগ তৈরি এবং মনিটরিংও করা যায়। Flask এর এই বিল্ট-ইন error handling ব্যবস্থা অ্যাপ্লিকেশনের স্থিতিশীলতা এবং নিরাপত্তা নিশ্চিত করে।

Content added By
Promotion

Are you sure to start over?

Loading...