zoukankan      html  css  js  c++  java
  • 被was坑惨了,websphere下面报webapp.WebApp logError SRVE0293E: [Servlet Error][null]错误。

    具体报错信息如下:

    webapp E com.ibm.ws.webcontainer.webapp.WebApp logError SRVE0293E: [Servlet Error]-[null]: com.ibm.ws.webcontainer.webapp.WebAppErrorReport:
    at com.ibm.ws.webcontainer.webapp.WebAppDispatcherContext.sendError(WebAppDispatcherContext.java:624)
    at com.ibm.ws.webcontainer.srt.SRTServletResponse.sendError(SRTServletResponse.java:1071)
    at org.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:770)
    at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:505)

    谁能看明白这个错误信息的含义?反正我是被坑了,网上也找不到答案。

    现在我知道是什么原因了,让我来总结一下:

    第一,有个关键信息是WebApp,说明它是应用端自身的一个error

    第二,报错的地方不明确,websphere上调试也极为不方便(太耗时间了),通过打印日志的方式,定位到了错误所在的行。

    不过很是蹊跷,那一行既然报错了,但是为什么没有被外层的try-catch捕获呢?,而且那一行看起来没有问题啊!

    哦,我好想明白了,是try-catch捕获的力度不够,错误的等级比Exception还要高,也就是说要用Throwable错误,赶紧试试看!

    没错,事实证明了,是个Throwable类型的错误,因为我改动了接口类而没有更新class文件,导致暴出了一个Throwable类型的错误!

    这真的是被坑惨了…………总结经验:

    1、有些地方要用Throwable来捕捉错误。(看具体的情况,是否引用了接口,但是又找不到实现类?)

    2、日志记录要全面,便于定位问题。为了避免每次都要修改代码,可以事先设置较全面的日志,上线时关闭,调试时可打开(开关放在数据库中)。

  • 相关阅读:
    记录日常Linux常用软件
    CentOS7.2重置root密码的处理方法
    Nginx配置文件详细说明
    ES项目实战
    foreachRDD
    Hive的数据倾斜
    SparkStreaming实战(数据库(NoSQL))
    Spark(4)
    SparkStreming中 `transform()`算子的 的使用
    RDD源码分析
  • 原文地址:https://www.cnblogs.com/zollty/p/3046187.html
Copyright © 2011-2022 走看看