pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

  • <small id='QBi5M'></small><noframes id='QBi5M'>

      <bdo id='QBi5M'></bdo><ul id='QBi5M'></ul>

      <tfoot id='QBi5M'></tfoot>

      1. <legend id='QBi5M'><style id='QBi5M'><dir id='QBi5M'><q id='QBi5M'></q></dir></style></legend>

        <i id='QBi5M'><tr id='QBi5M'><dt id='QBi5M'><q id='QBi5M'><span id='QBi5M'><b id='QBi5M'><form id='QBi5M'><ins id='QBi5M'></ins><ul id='QBi5M'></ul><sub id='QBi5M'></sub></form><legend id='QBi5M'></legend><bdo id='QBi5M'><pre id='QBi5M'><center id='QBi5M'></center></pre></bdo></b><th id='QBi5M'></th></span></q></dt></tr></i><div class="vb5vh7h" id='QBi5M'><tfoot id='QBi5M'></tfoot><dl id='QBi5M'><fieldset id='QBi5M'></fieldset></dl></div>

        異常捕獲:什么時候不捕獲它們?

        Exception catching: when not to catch them?(異常捕獲:什么時候不捕獲它們?)
      2. <tfoot id='ZCYSQ'></tfoot>

            <i id='ZCYSQ'><tr id='ZCYSQ'><dt id='ZCYSQ'><q id='ZCYSQ'><span id='ZCYSQ'><b id='ZCYSQ'><form id='ZCYSQ'><ins id='ZCYSQ'></ins><ul id='ZCYSQ'></ul><sub id='ZCYSQ'></sub></form><legend id='ZCYSQ'></legend><bdo id='ZCYSQ'><pre id='ZCYSQ'><center id='ZCYSQ'></center></pre></bdo></b><th id='ZCYSQ'></th></span></q></dt></tr></i><div class="rvxb7bz" id='ZCYSQ'><tfoot id='ZCYSQ'></tfoot><dl id='ZCYSQ'><fieldset id='ZCYSQ'></fieldset></dl></div>

            • <bdo id='ZCYSQ'></bdo><ul id='ZCYSQ'></ul>

                <tbody id='ZCYSQ'></tbody>
              <legend id='ZCYSQ'><style id='ZCYSQ'><dir id='ZCYSQ'><q id='ZCYSQ'></q></dir></style></legend>

              <small id='ZCYSQ'></small><noframes id='ZCYSQ'>

                • 本文介紹了異常捕獲:什么時候不捕獲它們?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  我在 PHP 的 Zend 框架中為我的應用程序編寫了許多小型庫(一堆類).我也一直在庫的方法本身中捕獲這些異常并將它們記錄到文件中.

                  I had been writing number of small libraries (bunch of classes) for my application inside PHP's Zend Framework. I had also been catching these exceptions inside the library's methods itself and logging them to a file.

                  然后突然我遇到了一個問題,即使用這些庫的主應用程序即使在我預計它們會因致命錯誤而退出的情況下也不會因錯誤而退出.這樣做的問題是下面的代碼一直執行到最后——它不應該有.

                  Then suddenly I ran to an issue that my main application that was using these libraries would not quit due to errors even in situations I expected them to quit due to a fatal error. The problem with this was the code below kept executing till the end - which it should not have.

                  捕獲并記錄庫類中的大多數錯誤(特殊情況除外)似乎不是一個好習慣.他們應該總是按原樣拋出錯誤?這是一個正確的假設嗎?

                  It seems like its not a good practice to catch and perhaps log majority (except in special cases) of the errors inside the library classes. They should always throw the error as it is? Would that be a correct assumption?

                  如果有人能為我回答這個問題,我將不勝感激.

                  I'd appreciate if anyone could answer this for me.

                  推薦答案

                  在任何語言中,異常的一般哲學是它們傳達異常情況.您應該相應地使用它們.

                  The general philosophy of exceptions, in any language, is that they communicate exceptional circumstances. You should use them accordingly.

                  如果你最終用一個 try 塊來包圍每個函數調用,那就有問題了.異常被精確地設計為使錯誤處理合乎邏輯,并且不需要程序員跟蹤所有可能的錯誤路徑.因此,您應該在可以有意義地對異常做出響應的那些點捕獲異常.

                  If you end up surrounding every function call with a try block, something is wrong. Exceptions are precisely designed to make error handling logical and not require the programmer to track all possible error paths. Therefore, you should catch exceptions precisely at those points where you can respond meaningfully to them.

                  如果您想不出比中止和傳播錯誤更好的方法,那么捕獲異常就沒有意義了.另一方面,如果您能夠對某些錯誤做出明智的反應,請抓住它們,然后重新拋出任何其他錯誤.

                  If you cannot think of anything better to do than to abort and propagate the error, then there's no point catching an exception. On the other hand, if there are some errors to which you can react sensibly, catch those, and rethrow anything else.

                  一個典型的例子是,如果您要處理大量文件.如果解析邏輯中的任何地方出現錯誤,您就無能為力,即使解析可能會中斷許多函數調用.但是,在主循環中,您可以嘗試解析每個文件,如果有異常,您可以捕獲該異常,跳過該文件并繼續下一個.

                  A typical example is if you're processing lots of files. If there's an error anywhere inside the parsing logic, there's nothing you can do, even though parsing may go down many function calls. However, at the main loop you can try parsing each file, and if there's an exception, you catch that, skip the file and continue with the next one.

                  如果您正在編寫一個庫函數,您可能希望在整個函數周圍有一個最后的 try 塊;不過,這在某種程度上取決于您.只需清楚地記錄用戶必須從您的庫中獲得哪些例外.

                  If you're writing a library function, you might want to have one final try block surrounding your entire function; that's somewhat up to you, though. Just document cleanly which exceptions the user has to expect from your library.

                  這篇關于異常捕獲:什么時候不捕獲它們?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                  【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                  相關文檔推薦

                  Deadlock exception code for PHP, MySQL PDOException?(PHP、MySQL PDOException 的死鎖異常代碼?)
                  PHP PDO MySQL scrollable cursor doesn#39;t work(PHP PDO MySQL 可滾動游標不起作用)
                  PHP PDO ODBC connection(PHP PDO ODBC 連接)
                  Using PDO::FETCH_CLASS with Magic Methods(使用 PDO::FETCH_CLASS 和魔術方法)
                  php pdo get only one value from mysql; value that equals to variable(php pdo 只從 mysql 獲取一個值;等于變量的值)
                  MSSQL PDO could not find driver(MSSQL PDO 找不到驅動程序)
                    <tbody id='ev5Li'></tbody>

                  <tfoot id='ev5Li'></tfoot>

                    <small id='ev5Li'></small><noframes id='ev5Li'>

                      <legend id='ev5Li'><style id='ev5Li'><dir id='ev5Li'><q id='ev5Li'></q></dir></style></legend>
                    • <i id='ev5Li'><tr id='ev5Li'><dt id='ev5Li'><q id='ev5Li'><span id='ev5Li'><b id='ev5Li'><form id='ev5Li'><ins id='ev5Li'></ins><ul id='ev5Li'></ul><sub id='ev5Li'></sub></form><legend id='ev5Li'></legend><bdo id='ev5Li'><pre id='ev5Li'><center id='ev5Li'></center></pre></bdo></b><th id='ev5Li'></th></span></q></dt></tr></i><div class="bd5btvz" id='ev5Li'><tfoot id='ev5Li'></tfoot><dl id='ev5Li'><fieldset id='ev5Li'></fieldset></dl></div>
                            <bdo id='ev5Li'></bdo><ul id='ev5Li'></ul>

                            主站蜘蛛池模板: 广西绿桂涂料--承接隔热涂料、隔音涂料、真石漆、多彩仿石漆等涂料工程双包施工 | 回转窑-水泥|石灰|冶金-巩义市瑞光金属制品有限责任公司 | 北京律师事务所_房屋拆迁律师_24小时免费法律咨询_云合专业律师网 | 集菌仪厂家_全封闭_封闭式_智能智能集菌仪厂家-上海郓曹 | 旋振筛_不锈钢旋振筛_气旋筛_旋振筛厂家—新乡市大汉振动机械有限公司 | 保温杯,儿童婴童奶瓶,运动水壶「广告礼品杯定制厂家」超朗保温杯壶 | 楼梯定制_楼梯设计施工厂家_楼梯扶手安装制作-北京凌步楼梯 | 上海办公室装修,写字楼装修—启鸣装饰设计工程有限公司 | 北京易通慧公司从事北京网站优化,北京网络推广、网站建设一站式服务商-北京网站优化公司 | 电气控制系统集成商-PLC控制柜变频控制柜-非标自动化定制-电气控制柜成套-NIDEC CT变频器-威肯自动化控制 | 杭州顺源过滤机械有限公司官网-压滤机_板框压滤机_厢式隔膜压滤机厂家 | 二手色谱仪器,十万分之一分析天平,蒸发光检测器,电位滴定仪-湖北捷岛科学仪器有限公司 | 三防漆–水性三防漆–水性浸渍漆–贝塔三防漆厂家 | 石家庄网站建设|石家庄网站制作|石家庄小程序开发|石家庄微信开发|网站建设公司|网站制作公司|微信小程序开发|手机APP开发|软件开发 | 气力输送设备_料封泵_仓泵_散装机_气化板_压力释放阀-河南锐驰机械设备有限公司 | 氟氨基酮、氯硝柳胺、2-氟苯甲酸、异香兰素-新晨化工 | SMC-ASCO-CKD气缸-FESTO-MAC电磁阀-上海天筹自动化设备官网 | 外观设计_设备外观设计_外观设计公司_产品外观设计_机械设备外观设计_东莞工业设计公司-意品深蓝 | 一体化预制泵站-一体化提升泵站-一体化泵站厂家-山东康威环保 | 创绿家招商加盟网-除甲醛加盟-甲醛治理加盟-室内除甲醛加盟-创绿家招商官网 | 扫地车厂家-山西洗地机-太原电动扫地车「大同朔州吕梁晋中忻州长治晋城洗地机」山西锦力环保科技有限公司 | 成都竞价托管_抖音代运营_网站建设_成都SEM外包-成都智网创联网络科技有限公司 | 仿清水混凝土_清水混凝土装修_施工_修饰_保护剂_修补_清水混凝土修复-德州忠岭建筑装饰工程 | TYPE-C厂家|TYPE-C接口|TYPE-C防水母座|TYPE-C贴片-深圳步步精 | 针焰试验仪,灼热丝试验仪,漏电起痕试验仪,水平垂直燃烧试验仪 - 苏州亚诺天下仪器有限公司 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 房车价格_依维柯/大通/东风御风/福特全顺/江铃图片_云梯搬家车厂家-程力专用汽车股份有限公司 | 万烁建筑设计院-建筑设计公司加盟,设计院加盟分公司,市政设计加盟 | 广州二手电缆线回收,旧电缆回收,广州铜线回收-广东益福电缆线回收公司 | 西安烟道厂家_排气道厂家_包立管厂家「陕西西安」推荐西安天宇烟道 | pbt头梳丝_牙刷丝_尼龙毛刷丝_PP塑料纤维合成毛丝定制厂_广州明旺 | 高防护蠕动泵-多通道灌装系统-高防护蠕动泵-www.bjhuiyufluid.com慧宇伟业(北京)流体设备有限公司 | 浴室柜-浴室镜厂家-YINAISI · 意大利设计师品牌 | 咿耐斯 |-浙江台州市丰源卫浴有限公司 | 洛阳防爆合格证办理-洛阳防爆认证机构-洛阳申请国家防爆合格证-洛阳本安防爆认证代办-洛阳沪南抚防爆电气技术服务有限公司 | 粤丰硕水性环氧地坪漆-防静电自流平厂家-环保地坪涂料代理 | 特材真空腔体_哈氏合金/镍基合金/纯镍腔体-无锡国德机械制造有限公司 | 插针变压器-家用电器变压器-工业空调变压器-CD型电抗器-余姚市中驰电器有限公司 | 碳纤维复合材料制品生产定制工厂订制厂家-凯夫拉凯芙拉碳纤维手机壳套-碳纤维雪茄盒外壳套-深圳市润大世纪新材料科技有限公司 | 周口市风机厂,周鼓风机,河南省周口市风机厂 | 洁净实验室工程-成都手术室净化-无尘车间装修-四川华锐净化公司-洁净室专业厂家 | 搜木网 - 木业全产业链交易平台,免费搜货、低价买货! |