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

ColdFusion 沒有捕捉到 NoClassDefFoundError

ColdFusion not catching NoClassDefFoundError(ColdFusion 沒有捕捉到 NoClassDefFoundError)
本文介紹了ColdFusion 沒有捕捉到 NoClassDefFoundError的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我正在使用 ColdFusion 8.我想在 ColdFusion 中捕獲 NoClassDefFoundError 異常,但是我不能...它仍然失敗并在 exception.log 文件中記錄錯誤.這是我嘗試過的.

I am using ColdFusion 8. I would like to catch a NoClassDefFoundError exception in ColdFusion however I can't... It still fails and logs the error in the exception.log file. Here is what I tried.

<cftry>
    <cfset myJavaObject.myMethod()>
    <cfcatch type="any">
        <cfdump var="#cfcatch #">
    </cfcatch>
    <cfcatch type="java.lang.Throwable">
        Horrible exception.
        <cfdump var="#cfcatch #">
    </cfcatch>
</cftry>

但這不起作用.你能告訴我怎么做嗎?我需要在特定位置捕獲此錯誤,而不是在 Application.cfc 的 OnError 函數中.

But this does not work. Could you please show me how to do that? I need to catch this error at a particular place and not in the OnError function of my Application.cfc.

推薦答案

現在我喝了更多的咖啡,我不認為 cfcatch 能夠捕獲 NoClassDefFoundError.根據文檔,它只處理 Exceptions:

Now that I have had more coffee, I do not think cfcatch is capable of catching a NoClassDefFoundError. According to the documentation, it only processes Exceptions:

異常是破壞正常指令流的事件在 ColdFusion 頁面中,例如數據庫操作失敗、丟失包括文件和開發人員指定的事件.

Exceptions are events that disrupt the normal flow of instructions in a ColdFusion page, such as failed database operations, missing include files, and developer-specified events.

NoClassDefFoundError 是一個 錯誤.

一個錯誤表示嚴重的問題,一個合理的應用程序不應該試圖抓住

An Error indicates serious problems that a reasonable application should not try to catch

聽起來 cfcatch 只是為了處理正常的可恢復"問題而設計的.一旦你得到 NoClassDefFoundError,你真的無能為力.這是一個嚴重的錯誤,你無法克服它(在正常情況下).您最多只能顯示錯誤消息并退出.

It sounds like cfcatch was only designed to handle normal "recoverable" problems. There is really not much you can do once you get a NoClassDefFoundError. It is a severe error and you cannot get past it (under normal circumstances). The most you can do is show an error message and exit.

Application.onErrora> 似乎可以處理 NoClassDefFoundError 等未捕獲的錯誤以及異常.所以我認為你能做的最好的就是實現 onError 并讓它顯示一個錯誤頁面.

Application.onError seems to handle uncaught Errors like NoClassDefFoundError, as well as Exceptions. So I think the best you can do is implement onError and have it display an error page.

    <!---- test code --->
    <cfset myJavaObject = createObject("java", "path.to.MyClass") />
    <cfset myJavaObject.myMethod() />

    <!---- Application.cfc --->
    <cfcomponent>
         .... settings ...
         <cffunction name="onError" returnType="void"> 
             <cfargument name="Exception" required="true" /> 
             <cfargument name="EventName" type="string" required="true" /> 
             <h1>onError Test</h1>
             <cfdump var="#Exception#" />
         </cffunction>
    </cfcomponent>

    // test class
    public class MyClass {
        public void myMethod() {
            throw new NoClassDefFoundError ("Testing...");
        }
    }

<小時>

更新

Any 類型包括 Java 對象類型的所有錯誤java.lang.異常.它不包括 java.lang.Throwable 錯誤.要捕獲 Throwable 錯誤,請在 cfcatch 中指定 java.lang.Throwable標簽類型屬性

The Any type includes all error with the Java object type of java.lang.Exception. It does not include java.lang.Throwable errors. To catch Throwable errors, specify java.lang.Throwable in the cfcatch tag type attribute

盡管文檔說了什么,捕獲 Throwable 在我(或您的)的任何測試中都不起作用.這強烈表明行為或文檔中存在錯誤.無論哪種方式,它都像宣傳的那樣工作,所以如上所述,我所知道的唯一替代方法是使用通用錯誤處理程序.如果您出于某種原因必須堅持使用 Application.cfm 文件,請嘗試使用 <cferror type="exception" ...>

Despite what the documentation says, catching Throwable does not work in any of my tests (or yours). That strongly suggests a bug in the behavior or the documentation. Either way it does not work as advertised, so as mentioned above, the only alternative I know of is using a general error handler. If you must stick with an Application.cfm file for some reason, try using <cferror type="exception" ...>

(荒謬)測試用例:

<cftry>
   <cfset myJavaObject = createObject("java", "path.to.MyClass")>
   <cfset myJavaObject.myMethod()>
   <cfcatch type="java.lang.NoClassDefFoundError">
      CAUGHT java.lang.NoClassDefFoundError
   </cfcatch>
   <cfcatch type="java.lang.LinkageError">
      CAUGHT java.lang.LinkageError
   </cfcatch>
   <cfcatch type="java.lang.Error">
      CAUGHT java.lang.Error
   </cfcatch>
   <cfcatch type="java.lang.Throwable">
      CAUGHT java.lang.Throwable 
   </cfcatch>
   <cfcatch type="any">
      CAUGHT ANY
   </cfcatch>
   <cfcatch>
      CAUGHT
   </cfcatch>
</cftry>

這篇關于ColdFusion 沒有捕捉到 NoClassDefFoundError的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

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

相關文檔推薦

How to wrap text around components in a JTextPane?(如何在 JTextPane 中的組件周圍環繞文本?)
MyBatis, how to get the auto generated key of an insert? [MySql](MyBatis,如何獲取插入的自動生成密鑰?[MySql])
Inserting to Oracle Nested Table in Java(在 Java 中插入 Oracle 嵌套表)
Java: How to insert CLOB into oracle database(Java:如何將 CLOB 插入 oracle 數據庫)
Why does Spring-data-jdbc not save my Car object?(為什么 Spring-data-jdbc 不保存我的 Car 對象?)
Use threading to process file chunk by chunk(使用線程逐塊處理文件)
主站蜘蛛池模板: 天津市能谱科技有限公司-专业的红外光谱仪_红外测油仪_紫外测油仪_红外制样附件_傅里叶红外光谱技术生产服务厂商 | 风化石头制砂机_方解石制砂机_瓷砖石子制砂机_华盛铭厂家 | 东莞注册公司-代办营业执照-东莞公司注册代理记账-极刻财税 | 广东青藤环境科技有限公司-水质检测 | 奇酷教育-Python培训|UI培训|WEB大前端培训|Unity3D培训|HTML5培训|人工智能培训|JAVA开发的教育品牌 | 精密冲床,高速冲床等冲压设备生产商-常州晋志德压力机厂 | 碎石机设备-欧版反击破-欧版颚式破碎机(站)厂家_山东奥凯诺机械 高低温试验箱-模拟高低温试验箱订制-北京普桑达仪器科技有限公司【官网】 | 机制砂选粉机_砂石选粉机厂家-盐城市助成粉磨科技有限公司 | 美国PARKER齿轮泵,美国PARKER柱塞泵,美国PARKER叶片泵,美国PARKER电磁阀,美国PARKER比例阀-上海维特锐实业发展有限公司二部 | 超声波清洗机-超声波清洗设备定制生产厂家 - 深圳市冠博科技实业有限公司 | 双菱电缆-广州电缆厂_广州电缆厂有限公司 | 春腾云财 - 为企业提供专业财税咨询、代理记账服务 | 陕西安玻璃自动感应门-自动重叠门-磁悬浮平开门厂家【捷申达门业】 | 济南品牌设计-济南品牌策划-即合品牌策划设计-山东即合官网 | 水平筛厂家-三轴椭圆水平振动筛-泥沙震动筛设备_山东奥凯诺矿机 包装设计公司,产品包装设计|包装制作,包装盒定制厂家-汇包装【官方网站】 | 上海单片机培训|重庆曙海培训分支机构—CortexM3+uC/OS培训班,北京linux培训,Windows驱动开发培训|上海IC版图设计,西安linux培训,北京汽车电子EMC培训,ARM培训,MTK培训,Android培训 | 二手Sciex液质联用仪-岛津气质联用仪-二手安捷伦气质联用仪-上海隐智科学仪器有限公司 | 切铝机-数控切割机-型材切割机-铝型材切割机-【昆山邓氏精密机械有限公司】 | 辽宁资质代办_辽宁建筑资质办理_辽宁建筑资质延期升级_辽宁中杭资质代办 | DWS物流设备_扫码称重量方一体机_快递包裹分拣机_广东高臻智能装备有限公司 | 热镀锌槽钢|角钢|工字钢|圆钢|H型钢|扁钢|花纹板-天津千百顺钢铁贸易有限公司 | 阀门智能定位器_电液动执行器_气动执行机构-赫尔法流体技术(北京)有限公司 | 工业风机_环保空调_冷风机_工厂车间厂房通风降温设备旺成服务平台 | 常州减速机_减速机厂家_常州市减速机厂有限公司 | led全彩屏-室内|学校|展厅|p3|户外|会议室|圆柱|p2.5LED显示屏-LED显示屏价格-LED互动地砖屏_蕙宇屏科技 | 膏剂灌装旋盖机-眼药水灌装生产线-西林瓶粉剂分装机-南通博琅机械科技 | 冷藏车厂家|冷藏车价格|小型冷藏车|散装饲料车厂家|程力专用汽车股份有限公司销售十二分公司 | 立式壁挂广告机厂家-红外电容触摸一体机价格-华邦瀛 | 加热制冷恒温循环器-加热制冷循环油浴-杭州庚雨仪器有限公司 | 工业PH计|工业ph酸度计|在线PH计价格-合肥卓尔仪器仪表有限公司 济南画室培训-美术高考培训-山东艺霖艺术培训画室 | 武汉森源蓝天环境科技工程有限公司-为环境污染治理提供协同解决方案 | 全自动翻转振荡器-浸出式水平振荡器厂家-土壤干燥箱价格-常州普天仪器 | 【官网】博莱特空压机,永磁变频空压机,螺杆空压机-欧能优 | 济南品牌设计-济南品牌策划-即合品牌策划设计-山东即合官网 | 南京办公用品网-办公文具用品批发-打印机耗材采购 | 开平机_纵剪机厂家_开平机生产厂家|诚信互赢-泰安瑞烨精工机械制造有限公司 | 解放卡车|出口|济南重汽|报价大全|山东三维商贸有限公司 | HV全空气系统_杭州暖通公司—杭州斯培尔冷暖设备有限公司 | 杭州|上海贴标机-百科 | 桁架楼承板-钢筋桁架楼承板-江苏众力达钢筋楼承板厂 | 杭州荣奥家具有限公司-浙江办公家具,杭州办公家具厂 |