printStackTrace&getMessage

package com.ly.test.fql;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class TestPrintStackTrace {
    private static final Logger LOG = LoggerFactory.getLogger(TestPrintStackTrace.class);
    public static void main(String[] args) {
        try {
            String[] data = new String[] {"aaaa", "bbbb"};
            data[3] = "IndexOutOfBounds";
        } catch (Exception e) {
            LOG.info("==========================");
            LOG.info("e.printStackTrace(): info ", e);
            LOG.info("==========================");
            LOG.info("e.getMessage(): " + e.getMessage());
            LOG.info("==========================");
            LOG.info("e.getLocalizedMessage(): " + e.getLocalizedMessage());
            LOG.info("==========================");
            LOG.info("e.toString(): " + e.toString());
            LOG.info("===========e.printStackTrace()===============");
            e.printStackTrace();
        }
    }
}


运行

21:20:25.483 [main] INFO com.ly.test.TestPrintStackTrace - ==========================
21:20:25.483 [main] INFO com.ly.test.TestPrintStackTrace - e.printStackTrace(): info 
java.lang.ArrayIndexOutOfBoundsException: 3
	at com.ly.test.TestPrintStackTrace.main(TestPrintStackTrace.java:11)
21:20:25.483 [main] INFO com.ly.test.TestPrintStackTrace - ==========================
21:20:25.483 [main] INFO com.ly.test.TestPrintStackTrace - e.getMessage(): 3
21:20:25.483 [main] INFO com.ly.test.TestPrintStackTrace - ==========================
21:20:25.483 [main] INFO com.ly.test.TestPrintStackTrace - e.getLocalizedMessage(): 3
21:20:25.483 [main] INFO com.ly.test.TestPrintStackTrace - ==========================
21:20:25.483 [main] INFO com.ly.test.TestPrintStackTrace - e.toString(): java.lang.ArrayIndexOutOfBoundsException: 3
21:20:25.483 [main] INFO com.ly.test.TestPrintStackTrace - ===========e.printStackTrace()===============
java.lang.ArrayIndexOutOfBoundsException: 3
	at com.ly.test.TestPrintStackTrace.main(TestPrintStackTrace.java:11)

RunTimeException

正确的方式:

log.xxx("",e)
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        PrintStream ps = new PrintStream(baos);
        e.printStackTrace(ps);
        return new String(baos.toByteArray(), StandardCharsets.UTF_8);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值