Bakit masama ang mga exception?

Bakit masama ang mga exception?
Bakit masama ang mga exception?
Anonim

Pinapadali ng

Exceptions ang pagsulat ng code kung saan ang pagbubukod na thrown ay masisira ang mga invariant at mag-iiwan ng mga bagay sa hindi pare-parehong estado. Sa katunayan, pinipilit ka nilang tandaan na ang karamihan sa bawat pahayag na iyong gagawin ay maaaring potensyal na ihagis, at hawakan iyon nang tama. Ang paggawa nito ay maaaring nakakalito at kontra-intuitive.

Bakit masamang C++ ang mga exception?

Ang pangunahing dahilan kung bakit madalas na ipinagbabawal ang mga exception sa C++ ay na napakahirap magsulat ng exception safe C++ code. Ang kaligtasan sa pagbubukod ay hindi isang terminong madalas mong marinig, ngunit karaniwang nangangahulugan ng code na hindi masyadong nakakasira sa sarili nito kung ang salansan ay natanggal.

Masama ba maliban sa exception?

Dapat kang gumamit ng kahit man lang maliban sa Exception : upang maiwasang mahuli ang system exceptions tulad ng SystemExit o KeyboardInterrupt. Narito ang link sa mga doc. Sa pangkalahatan, dapat mong tahasang tukuyin ang exceptions na gusto mong mahuli, para maiwasang mahuli ang mga hindi gustong exceptions . Dapat mong malaman kung anong exceptions ang binabalewala mo.

Bakit halos palaging masamang ideya ang catch exception?

Ang

catch(Exception) ay isang masamang kagawian dahil nahuli din nito ang lahat ng RuntimeException (unchecked exception). Ito ay maaaring tiyak sa java: Minsan kakailanganin mong tumawag sa mga pamamaraan na nagtatapon ng mga naka-check na eksepsiyon. Kung ito ay nasa iyong EJB / business logic layer mayroon kang 2 pagpipilian - hulihin ang mga ito o muling ihagis ang mga ito.

Masama ba ang mga exception para sa performance?

Konklusyon. Hindi ginagamitAng mga pagbubukod dahil sa kanilang potensyal na epekto sa pagganap ay isang masamang ideya. Nakakatulong ang mga pagbubukod na magbigay ng pare-parehong paraan upang makayanan ang mga problema sa runtime at nakakatulong ang mga ito sa pagsulat ng malinis na code. Gayunpaman, kailangan mong subaybayan ang bilang ng mga pagbubukod na itinapon sa iyong code.

Inirerekumendang: