Rumah > pembangunan bahagian belakang > C++ > Bagaimana Mengendalikan Pengecualian Dengan Betul Apabila Membuat Permintaan POST dalam C#?

Bagaimana Mengendalikan Pengecualian Dengan Betul Apabila Membuat Permintaan POST dalam C#?

Mary-Kate Olsen
Lepaskan: 2025-01-25 14:51:46
asal
726 orang telah melayarinya

How to Properly Handle Exceptions When Making POST Requests in C#?

untuk panggilan API selebihnya di C#

<:> Soalan:

Saya menghadapi masalah apabila saya menggunakan kod berikut untuk melaksanakan permintaan pos. Nampaknya ada kesilapan di blok tangkapan, saya tidak dapat menemuinya. Bolehkah anda menolong saya menghapuskan kesalahan?

Jawapan:

<code class="language-csharp">using System;
using System.IO;
using System.Net;
using System.Text;

class Class1
{
    private const string URL = "https://sub.domain.com/objects.json?api_key=123";
    private const string DATA = @"{""object"":{""name"":""Name""}}";

    static void Main(string[] args)
    {
        Class1.CreateObject();
    }

    private static void CreateObject()
    {
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
        request.Method = "POST";
        request.ContentType = "application/json";
        request.ContentLength = DATA.Length;
        StreamWriter requestWriter = new StreamWriter(request.GetRequestStream(), System.Text.Encoding.ASCII);
        requestWriter.Write(DATA);
        requestWriter.Close();

         try {
            WebResponse webResponse = request.GetResponse();
            Stream webStream = webResponse.GetResponseStream();
            StreamReader responseReader = new StreamReader(webStream);
            string response = responseReader.ReadToEnd();
            Console.Out.WriteLine(response);
            responseReader.Close();
        } catch (Exception e) {
            Console.Out.WriteLine("-----------------");
            Console.Out.WriteLine(e.Message);
        }
    }
}</code>
Salin selepas log masuk

Walaupun kod yang disediakan secara berkesan dihantar dengan permintaan pos, ia tidak betul mengendalikan keabnormalan yang berpotensi. Untuk menyelesaikan masalah ini, sila gunakan kelas , yang secara khusus menguruskan keabnormalan yang berkaitan dengan permintaan web. Berikut adalah versi kod yang dikemas kini:

Dengan menggunakan kelas , anda boleh menangkap dan memproses sebarang keabnormalan yang mungkin berlaku semasa permintaan web, dengan itu menyediakan mesej ralat maklumat yang lebih spesifik dan lebih banyak. Kod yang lebih baik juga mengandungi cek

, yang boleh mendapatkan maklumat ralat yang lebih terperinci dari pelayan. Gunakan pernyataan untuk memastikan penutupan yang betul dan elakkan kebocoran sumber. WebException

Atas ialah kandungan terperinci Bagaimana Mengendalikan Pengecualian Dengan Betul Apabila Membuat Permintaan POST dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan