yang ditakuti
dalam .net menandakan ralat kritikal, sering menunjuk kepada rasuah memori atau masalah teruk lain dalam permohonan anda. Satu senario yang sangat rumit timbul apabila objek COM membuang pengecualian ini; Debugger mungkin menghentikan pelaksanaan pada panggilan kaedah dan bukannya mencapai blok AccessViolationException
yang ditetapkan, menghalang pengendalian pengecualian yang berkesan. catch
: AccessViolationException
Penyelesaian 1: Recompilation dengan .NET 3.5
Jika boleh dilaksanakan, mengembalikan semula permohonan anda sebagai pemasangan .NET 3.5 dan menjalankannya dalam persekitaran .NET 4.0 dapat menyelesaikan masalah ini. Ini melumpuhkan ciri pengecualian negara yang rosak, membolehkan penangkapan yang dijangkakan. AccessViolationException
Penyelesaian 2: Mengubah fail konfigurasi aplikasi
Tambahkan baris berikut ke fail konfigurasi aplikasi anda (dalam bahagian): <configuration>/<runtime>
<code class="language-xml"><legacycorruptedstateexceptionspolicy enabled="false"></legacycorruptedstateexceptionspolicy></code>
Penyelesaian 3: Menggunakan atribut HandleProcessCorruptedStateExceptions
ke kaedah yang dimaksudkan untuk menangkap HandleProcessCorruptedStateExceptions
dan pengecualian negara yang rosak lain. Ini membolehkan runtime untuk membenarkan penangkapan pengecualian ini. AccessViolationException
Cadangan Lanjut:
AccessViolationException
ingat, Atas ialah kandungan terperinci Bagaimanakah saya dapat mengendalikan AccessViolationException dengan berkesan dalam aplikasi .NET saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!