有什么办法能够使控制台不输出程序中catch的异常,而是输出自己的log

解决方案 »

  1.   

    try{
    }catch(Exception e){
     System.out.println("这里搞自己的log");
    }
      

  2.   

    使用 类名加“throws + 异常名”
    或者是
    try{
    //语句
    } catch (Exception e) {
    e.printStackTrace
    //或者其他语句
    }
      

  3.   

    catch中不让打印而是把错误信息直接加入你的log中。
      

  4.   

    把 e.printStackTrace 换成自己的 log(e) 方法。
      

  5.   

    举个例子:  try {
                Thread.sleep(1000);
            } catch (InterruptedException ex) {
                Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
            }
      

  6.   

    前提就是你catch了所有的Exception,在catch中你想往哪写都行,怎么写都行但如果你没有catch到所有的Exception,那么还是默认会输出到控制台,主要是RuntimeException
      

  7.   

    楼上说的意外是一种情况,但是我觉得可以在自己想到的情况之外可以catch一些高一层的Exception,充分利用JAVA的动态绑定机制!
      

  8.   

    private final Logger logger = LoggerFactory.getLogger(getClass());
    public void function()
    {
       try
       {
    Java code
       }
       catch(Exception e)
       {
    logger.info("error inof is ="+e.getMessage());
       }}
      

  9.   

    只是输出到后台的话,System.out.println就可以。
    打印到自定义的日志文件的话,可以考虑一下log4j
      

  10.   

    比如在hibernate里面已经catch并e.printStackTrace()了,而我的程序调用hibernate,d但是,不想输出
    e.printStackTrace(),有什么办法