Kendalikan Ralat Tamat Masa dalam Panggilan Rangkaian
Untuk memastikan interaksi rangkaian yang boleh dipercayai, adalah penting untuk mengendalikan ralat tamat masa dengan berkesan. Panduan ini menumpukan pada pengesanan tamat masa secara khusus semasa panggilan perkhidmatan web.
Kod yang disediakan menggunakan struct Tamat Masa untuk menetapkan tamat masa bagi penubuhan sambungan dan operasi baca/tulis. Fungsi HttpClient mencipta klien HTTP dengan pengangkutan yang dikonfigurasikan untuk menggunakan tamat masa yang ditentukan.
Walau bagaimanapun, untuk pengesanan khusus ralat tamat masa, fungsi ralat.Is boleh digunakan untuk mengenal pasti os.ErrDeadlineExceeded.
// If the deadline is exceeded a call to Read or Write or to other // I/O methods will return an error that wraps os.ErrDeadlineExceeded. // This can be tested using errors.Is(err, os.ErrDeadlineExceeded). // The error's Timeout method will return true, but note that there // are other possible errors for which the Timeout method will // return true even if the deadline has not been exceeded. if errors.Is(err, os.ErrDeadlineExceeded) { // Handle timeout error }
Sebagai alternatif, untuk sebarang tamat masa yang mematuhi net.Ralat, semakan berikut boleh digunakan:
if err, ok := err.(net.Error); ok && err.Timeout() { // Handle timeout error }
Dengan menggunakan kaedah ini, anda boleh mengesan dan mengendalikan ralat tamat masa dengan berkesan, memastikan komunikasi yang boleh dipercayai dengan perkhidmatan web.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengendalikan Ralat Tamat Masa dengan Berkesan dalam Panggilan Perkhidmatan Web?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!