Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Next.js Documentation27টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Introduction
  • কেন Next.js?
  • Installation
  • Project Structure
  • Routing ও Pages
  • Layouts
  • Linking ও Navigation
  • Server & Client Components
  • Dynamic Routes
  • Data Fetching
  • Loading ও Streaming
  • Error Handling
  • Route Handlers
  • Server Actions
  • Caching ও Revalidation
  • Metadata ও SEO
  • Images ও Fonts
  • Styling
  • Environment Variables
  • Development ও Production
  • Deployment
  • Configuration
  • Static ও Dynamic Rendering
  • Proxy
  • Performance
  • Project: Blog
  • Project: Dashboard
  1. Docs
  2. Next.js
  3. Error Handling
Next.jsBeginner

Error Handling

error.tsx, not-found.tsx, expected errors ও error boundaries — Next.js-এ error handling বাংলায়।

11টি অংশবাংলা ভাষায়

Next.js error-কে দুই ভাগে ভাগ করে — expected errors (যেমন form validation failure) ও uncaught exceptions (অপ্রত্যাশিত crash)।

Uncaught Error: error.tsx

Route segment-এ error.tsx ফাইল দিলে সেটি একটি error boundary — সবচেয়ে কাছের parent error.tsx-এ error memorial হয়।

app/dashboard/error.tsxtsx
tsx
"use client"; // Error boundary সবসময় Client Component

import { useEffect } from "react";

export default function ErrorPage({
  error,
  unstable_retry,
}: {
  error: Error & { digest?: string };
  unstable_retry: () => void;
}) {
  useEffect(() => {
    console.error(error);
  }, [error]);

  return (
    <div>
      <h2>Something went wrong!</h2>
      <button onClick={() => unstable_retry()}>Try again</button>
    </div>
  );
}

404: not-found.tsx

app/blog/[slug]/page.tsxtsx
tsx
import { notFound } from "next/navigation";

export default async function Page({
  params,
}: {
  params: Promise<{ slug: string }>;
}) {
  const { slug } = await params;
  const post = getPostBySlug(slug);

  if (!post) {
    notFound();
  }

  return <h1>{post.title}</h1>;
}
app/blog/[slug]/not-found.tsxtsx
tsx
export default function NotFound() {
  return <div>404 - এই পেজটি পাওয়া যায়নি</div>;
}

Expected Errors

Form submission বা যাচাই-বাছাই-এর মতো expected errors-এ throw না করে return value হিসেবে মডেল করুন — useActionState দিয়ে দেখান।

app/actions.tstsx
tsx
"use server";

export async function createPost(prevState: any, formData: FormData) {
  const title = formData.get("title");

  const res = await fetch("https://api.vercel.app/posts", {
    method: "POST",
    body: JSON.stringify({ title }),
  });

  if (!res.ok) {
    return { message: "Failed to create post" };
  }
}
Global Error

Root layout-এর error-এর জন্য app/global-error.tsx — এতে নিজস্ব <html> ও <body> দিতে হয়, কারণ এটি root layout replace করে।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরLoading UI ও StreamingপরেরRoute Handlers (API)
এই পেজে
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com