ত্রুটি পরিচালনা

এই পৃষ্ঠাটি বর্ণনা করে কিভাবে ম্যাপ জাভাস্ক্রিপ্ট API এবং প্লেস ক্লাস ব্যবহার করার সময় ত্রুটিগুলি পরিচালনা করতে হয়৷

Google Maps JavaScript API ত্রুটির জন্য নিম্নলিখিত শ্রেণীগুলি ব্যবহার করে:

  • MapsNetworkError একটি ওয়েব পরিষেবা থেকে একটি নেটওয়ার্ক ত্রুটি উপস্থাপন করে ( RPCS স্থিতি ত্রুটি অন্তর্ভুক্ত করতে পারে)।
  • MapsRequestError একটি ওয়েব পরিষেবা থেকে একটি অনুরোধ ত্রুটি প্রতিনিধিত্ব করে (যেমন HTTP-তে একটি 4xx কোডের সমতুল্য)।
  • MapsServerError একটি ওয়েব পরিষেবা থেকে একটি সার্ভার-সাইড ত্রুটি উপস্থাপন করে (যেমন HTTP-এ একটি 5xx কোডের সমতুল্য)।

MapsNetworkError , MapsRequestError , এবং MapsServerError ক্লাসগুলি মানচিত্রের মূল লাইব্রেরির অন্তর্গত৷ লাইব্রেরি সম্পর্��ে আরও জানুন।

এই শ্রেণীর প্রতিটিতে নিম্নলিখিত বৈশিষ্ট্য রয়েছে:

code বৈশিষ্ট্য ত্রুটির ধরন সনাক্ত করে; endpoint প্রপার্টি সেই এন্ডপয়েন্টটিকে চিহ্নিত করে যা ত্রুটিটি ফিরিয়ে দিয়েছে (উদাহরণস্বরূপ PLACES_DETAILS )। যেহেতু MapsNetworkError হল Error এর একটি সাবক্লাস, তাই name এবং message সহ অন্যান্য বৈশিষ্ট্যগুলিও উপলব্ধ।

নিম্নলিখিত স্নিপেট একটি মানচিত্র ত্রুটি বার্তার গঠন দেখায়:

  MapsRequestError: PLACES_GET_PLACE: INVALID_ARGUMENT: Error fetching fields: The provided Place ID: ChIJN5Nz71W3j4ARhx5bwpTQEGg**** is not valid.
  [error.name     ] [error.endpoint ] [error.code     ]
                    [error.message --->                ... ]
  

কাঁচা ত্রুটি ত্রুটি স্ট্রিং সবকিছু অন্তর্ভুক্ত; error.message error.name ব্যতীত সম্পূর্ণ ত্রুটির স্ট্রিং অন্তর্ভুক্ত রয়েছে।

নিম্নলিখিত স্নিপেট প্লেস ক্লাস ব্যবহার করার সময় ত্রুটি হ্যান্ডলিং প্রদর্শন করে। এই উদাহরণটি তিনটি ত্রুটি প্রকারের প্রতিটি পরিচালনা করার জন্য একটি চেষ্টা/ক্যাচ ব্লক ব্যবহার করে। যেকোন মানচিত্র জাভাস্ক্রিপ্ট এপিআই ক্লাসের ত্রুটিগুলি পরিচালনা করতে অনুরূপ কোড ব্যবহার করা যেতে পারে।

async function getPlaceDetails() {
    const { Place } = await google.maps.importLibrary("places") as google.maps.PlacesLibrary;
    const { MapsNetworkError, MapsRequestError, MapsServerError } = await google.maps.importLibrary("core") as google.maps.CoreLibrary;

    // Use place ID to create a new Place instance.
    const place = new Place({
        id: 'ChIJN5Nz71W3j4ARhx5bwpTQEGg****', // Pass a bad Place ID to trigger an error.
    });

    // Error handling for fetchFields.
    try {
        // Call fetchFields, passing the desired data fields.
        await place.fetchFields({ fields: ['displayName', 'formattedAddress', 'location'] });
    } catch (error: any) {
        if (error && error instanceof google.maps.MapsRequestError) {
            // HTTP 4xx request error.
            console.error('fetchFields failed: MapsRequestError - check the request parameters', error);
        } else if (error && error instanceof google.maps.MapsServerError) {
            // HTTP 5xx server-side error.
            console.error('fetchFields failed: MapsServerError', error);
        } else if (error && error instanceof google.maps.MapsNetworkError) {
            // Network error.
            console.error('fetchFields failed: MapsNetworkError', error);
        }  else {
            console.error('fetchFields failed: An unknown error occurred', error);
        }
    }
    // ...
}