• 【java】将异常栈内信息合并成字符串的函数


    【功能】

    将ex.printtStackTance()输出的内容转化为字符串。

    【适用场景】

    将不易跟踪的异常存贮到DB或是文件里。

    【代码】

    package com.hy.lab.gotminus;
    
    import java.io.PrintWriter;
    import java.io.StringWriter;
    
    public class DbConnector extends Thread{
        public static void main(String[] args){
            try {
                int n = Integer.parseInt("1A");
            }catch(Exception ex){
                String traceInfo=getStackTraceInfo(ex);
                System.out.println(traceInfo);
            }
        }
    
        /**
         * 此函数用户将异常栈全部合并成字符串,适合将难以跟踪的异常存储起来
         * @param ex 异常
         * @return 异常栈组合成的字符串
         */
        public static String getStackTraceInfo(Throwable ex){
            StringWriter sw=new StringWriter();
    
            try(PrintWriter pw=new PrintWriter(sw);){
                ex.printStackTrace(pw);
                return sw.toString();
            }
        }
    }

    【输出】

    java.lang.NumberFormatException: For input string: "1A"
        at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)
        at java.base/java.lang.Integer.parseInt(Integer.java:668)
        at java.base/java.lang.Integer.parseInt(Integer.java:786)
        at com.hy.lab.gotminus.DbConnector.main(DbConnector.java:9)
    
    
    Process finished with exit code 0

    END

  • 相关阅读:
    VS.net 2005快捷键一览表
    POJ 1141 Brackets Sequence
    POJ 3264 Balanced Lineup RMQ问题的ST解法
    Hdu 4267 A Simple Problem with Integers
    hdu 4009 Transfer water
    HDU 4288 Coder
    POJ 1679 The Unique MST
    hdu 4291 A Short problem
    hdu 1175 连连看(DFS)
    POJ 3164 Command Network
  • 原文地址:https://www.cnblogs.com/heyang78/p/16259661.html
Copyright © 2020-2023  润新知