PHP တွင်ချွင်းချက်ကိုင်တွယ်ယန္တရား (ခြွင်းချက်ကိုင်တွယ်) သည်အလွန်အရေးကြီးသောအစိတ်အပိုင်းတစ်ခုဖြစ်သည်။ ၎င်းသည်ပရိုဂရမ်များတွင်အမှားအယွင်းများကိုဖမ်းရန်နှင့်အမှားအယွင်းများကိုကိုင်တွယ်ရန်ပိုမိုပြောင်းလွယ်ပြင်လွယ်။ ထိန်းချုပ်နိုင်သောနည်းလမ်းများကိုကူညီသည်။ သို့သော်ခြွင်းချက်ကိုင်တွယ်စဉ် PHP တွင် PHP တွင်အချို့သောကိစ္စရပ်များတွင်ပါ 0 င်သောလုပ်ဆောင်ချက်များကိုကိုင်တွယ်ဖြေရှင်းသည့်အမှားအယွင်းများရှိသည်။ ပုံမှန် function သည် အမှားအယွင်းများကိုရှင်းလင်းရန်အသုံးပြုသောအမှား ဖြစ်သည်။ ဒါကြောင့် Error_clear_last () PHP မှာခြွင်းချက်ကိုင်တွယ်ခြင်းလုပ်ငန်းစဉ်အပေါ်သက်ရောက်မှုရှိပါသလား။ ဤဆောင်းပါးသည်ဤပြ issue နာကိုဆွေးနွေးပါမည်။
Error_Clear_last () သည် PHP 7.2.0 တွင်မိတ်ဆက်ပေးသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ၎င်းသည် PHP Error Stack တွင်နောက်ဆုံးအမှားကိုရှင်းလင်းရန်အသုံးပြုသည်။ Script လုပ်ဆောင်မှုတွင်အမှားတစ်ခုဖြစ်ပါကအမှားအယွင်းကိုရှင်းလင်းရန် Error_clear_last () ကို ခေါ်ယူနိုင်သည်။ သတိပြုသင့်သည်မှာဤလုပ်ဆောင်မှုသည်အမှားအယွင်းများတွင်နောက်ဆုံးအမှားသာဖြစ်သည်ဟုမှတ်ချက်ပြုသင့်သည်။ ၎င်းသည်အခြားမှတ်တမ်းတင်ထားသောအမှားများကိုအကျိုးသက်ရောက်မည်မဟုတ်ပါ။
PHP တွင်ခြွင်းချက်များနှင့်အမှားများသည်မတူညီသောယန္တရားနှစ်ခုဖြစ်သည်။
ချို့ယွင်းချက် - များသောအားဖြင့် Runtime ပတ်ဝန်းကျင် (မှတ်ဥာဏ်မလုံလောက်ခြင်း, ဖိုင်ခွင့်ပြုချက်စသည်) သို့မဟုတ်အစီအစဉ်တွင်ယုတ္တိရှိသည့်ပြ problems နာများကဲ့သို့ဖြစ်သည်။ ဤအမှားများကို PHP ၏အမှားကိုင်တွယ်သည့်ယန္တရားများကဤအမှားများကို Set_error_handler () မှတဆင့်စိတ်ကြိုက်အမှားကိုင်တွယ်ဖြေရှင်းခြင်း (သို့ ) အမှားအယွင်းများ မှတစ်ဆင့်အမှားအယွင်းများကြုံတွေ့ရမည့်အမှားအယွင်းများကိုဖယ်ရှားခြင်းအားဖြင့်ဖမ်းမိသည်။
ခြွင်းချက် - ၎င်းသည်အရာဝတ်ထု ဦး စားပေးအမှားကိုင်တွယ်သည့်ယန္တရားတစ်ခုဖြစ်သည်။ ချွင်းချက်များကိုမည်သည့်နေရာတွင်မဆို ချွင်းချက် ချနိုင်သည်။ ခြွင်းချက်ကိုင်တွယ်ခြင်းသည် Throw keyword မှတစ်ဆင့်ခြွင်းချက်အရာဝတ်ထုတစ်ခုကိုပစ်ချပြီးချွင်းချက်ကိုဖမ်းရန်နှင့်ကိုင်တွယ်ရန် ဖမ်းမိသော ကြေညာချက်ကိုသုံးပါ။
အမှားများနှင့်ခြွင်းချက်များသည်ပရိုဂရမ်အမှားများပေါ်ပေါက်လာသောအခါပြသမှုများဖြစ်သော်လည်း၎င်းတို့ကိုမတူညီသောယန္တရားများဖြင့်ကိုင်တွယ်သည်။ အများအားဖြင့် set_error_handler () သို့မဟုတ် built-in အမှားကိုင်တွယ်မှုလုပ်ငန်းစဉ်ကိုမှားယွင်းစွာဖမ်းယူလေ့ရှိသည် ။
Error_clear_last () သည် PHP Error Stack တွင်နောက်ဆုံးအမှားကိုသာအကျိုးသက်ရောက်လိမ့်မည်။ အထူးသဖြင့် error_clear_last () သည် ခြွင်းချက်များကိုပစ်ခြင်း, ခြွင်းချက်ကိုင်တွယ်ခြင်းသည် Try-catch statement block ပေါ်တွင်လုံးလုံးလျားလျားမှီခိုနေပြီး PHP အမှားကိုင်တွယ်သည့်ယန္တရားနှင့်သီးခြားဖြစ်သည်။
ဥပမာအားဖြင့်, အောက်ဖော်ပြပါကုဒ်နံပါတ်တွင်အမှားအယွင်းရှိသည့် အမှားအယွင်းများကို ခေါ်သည့်တိုင်,
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-keyword">try</span></span><span> {
</span><span><span class="hljs-comment">// ခြွင်းချက်တစ်ခု Simulate</span></span><span>
</span><span><span class="hljs-keyword">throw</span></span><span> </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-built_in">Exception</span></span><span>(</span><span><span class="hljs-string">"ဤသည်ချွင်းချက်ဥပမာတစ်ခုဖြစ်သည်"</span></span><span>);
} </span><span><span class="hljs-keyword">catch</span></span><span> (</span><span><span class="hljs-built_in">Exception</span></span><span> </span><span><span class="hljs-variable">$e</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ခြွင်းချက်များ: "</span></span><span> . </span><span><span class="hljs-variable">$e</span></span><span>-></span><span><span class="hljs-title function_ invoke__">getMessage</span></span><span>() . </span><span><span class="hljs-string">"\n"</span></span><span>;
}
</span><span><span class="hljs-comment">// အမှားတစ်ခုဖြစ်ပွားခဲ့သည်</span></span><span>
</span><span><span class="hljs-title function_ invoke__">trigger_error</span></span><span>(</span><span><span class="hljs-string">"ဒါကအမှားတစ်ခုပါ"</span></span><span>, E_USER_NOTICE);
</span><span><span class="hljs-comment">// နောက်ဆုံးအမှားကိုရှင်းပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">error_clear_last</span></span><span>();
</span><span><span class="hljs-comment">// အမှားရှင်းလျှင်စစ်ဆေးပါ</span></span><span>
</span><span><span class="hljs-variable">$lastError</span></span><span> = </span><span><span class="hljs-title function_ invoke__">error_get_last</span></span><span>();
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$lastError</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"နောက်ဆုံးအမှား: "</span></span><span> . </span><span><span class="hljs-variable">$lastError</span></span><span>[</span><span><span class="hljs-string">'message'</span></span><span>] . </span><span><span class="hljs-string">"\n"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အမှားမရှိပါ\n"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>အထက်ပါဥပမာတွင် ချွင်းချက်အသစ် () ချွင်းချက် တစ်ခု () ခြွင်းချက် ကိုပစ်ချခြင်းနှင့် ဖမ်းမိ ကြေညာချက်အားဖြင့်ဖမ်းမိခြင်း, သူတို့နှစ် ဦး သည်တစ် ဦး နှင့်တစ် ဦး 0 င်ရောက် စွက်ဖက်ခြင်းမပြုပါ။
ရှင်းလင်းသောအမှားမက်ဆေ့ခ်ျ : error_clear_last () အမှားအယွင်းများကိုရှင်းလင်းရန်လိုအပ်သည့်အချို့သောအခြေအနေများတွင်အလွန်အသုံးဝင်သည်။ ဥပမာအားဖြင့်, အမှားအယွင်းများကို သင်လုပ်ခဲ့သည့်နောက်တွင်မလွယ်ကူပါကရိုက်ကူးခြင်းမခံရမီလုပ်ခဲ့သည့်အမှားများကိုရှင်းလင်းလိုသည့်အမှားများကိုရှင်းလင်းလိုသည့်အခါအမှားများကိုရှင်းလင်းလိုသည့်အခါအမှားများကိုသင်ရှင်းရှင်းလင်းလင်းဖော်ပြထားသည့်အခါအမှားများကိုထုတ်ဖော်ပြောဆိုနိုင်သည့်အခါ,
debugging and logging : debugging စဉ်မှာတစ်ခါတစ်ရံကျွန်ုပ်တို့သည်ယခင်အမှားကိုသာအာရုံစိုက်ရန်ယခင်အမှားအချက်အလက်များကိုသာရှင်းလင်းလိုကြသည်။ ဤကိစ္စတွင်အမှားမှတ်တမ်း၏ရလဒ်များကိုထိန်းချုပ်ရန်ကျွန်ုပ်တို့အားထိရောက်စွာထိန်းချုပ်နိုင်ရန်အတွက် အမှားအယွင်းများကို ထိရောက်စွာကူညီနိုင်သည်။
အမှားအယွင်းများနှင့်ခြွင်းချက်များရောနှောနေသောနေရာများ - အချို့သောရှုပ်ထွေးသော application များ၌အမှားအယွင်းများနှင့်ခြွင်းချက်ကိုင်တွယ်ခြင်းယန္တရားများတွင်တစ်ချိန်တည်းတွင်အသုံးပြုနိုင်သည်။ ဤအချိန်တွင် error_clear_last () သည် ခြွင်းချက်ကိုင်တွယ်ခြင်းနှင့်မကိုက်ညီကြောင်းနားလည်ရန်အလွန်အရေးကြီးသည်။
error_clear_last () PHP တွင်ခြွင်းချက်ကိုင်တွယ်ခြင်းလုပ်ငန်းစဉ်ကိုမထိခိုက်ပါ။ ၎င်းသည်အမှား stack တွင်နောက်ဆုံးအမှားကိုရှင်းလင်းရန်သာအသုံးပြုသည် ။ ဤအရာကိုနားလည်ခြင်းသည် PHP ရှိအမှားနှင့်ခြွင်းချက်ယန္တရားများကိုပိုမိုနားလည်ရန်နှင့်ဤကိရိယာများကိုကွဲပြားခြားနားသောအခြေအနေများတွင်မည်သို့အသုံးပြုရမည်ကိုပိုမိုနားလည်စေသည်။
developer များအတွက် error_clear_last () ၏ဆင်ခြင်တုံတရားကိုဆင်ခြင်တုံတရားအသုံးပြုခြင်းသည်အမှားအယွင်းများကိုစီမံခန့်ခွဲနိုင်ပြီးအမှားအယွင်းများပေါ်ပေါက်လာသည့်အခါ PHP ၏ Object-Object-Object-Objected ယန္တရားအပေါ်မူတည်သည်။