Java:如何获取错误信息?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java:如何获取错误信息?相关的知识,希望对你有一定的参考价值。
平时抛出错误都是e.printStack之类的输出到控制台,但是现在的需求是能够明确抛出的异常类型,该如何实现呢?大神给个思路吧
建议建一个自定义异常,扑捉异常时,可以分级扑捉的,例如io,file等,最好不要直接Exception来扑捉。根据不同异常设置自定义异常内容属性,再将自定义异常抛出。 参考技术A 我觉得,你可以看一下,抛出什么类型的异常,然后在 new throw 对应异常 出去。如果不知道类型 就用Exception类型。 参考技术B e.message 等等 你点试试看看java中如何获取 控制台的输出信息,错误信息,和异常信息。
java中如何获取 控制台的输出信息,错误信息,和异常信息。并把它们输入到一个文件中。请大侠们给小弟一个简单的例子。
参考技术A 很简单的,如果你查api文档会发现类System有个“字段摘要”,很容易发现有个out,它返回static PrintStream,还会发现System有个方法是static void setOut(PrintStream out)
重新分配“标准”输出流。 再点击PrintStream,很明显它是OutputStream
的子类 解决如下
输出流重定向
import java.io.*;
public class IO2File
public static void main(String[] args) throws IOException
File f=new File("out.txt");
f.createNewFile();
FileOutputStream fileOutputStream = new FileOutputStream(f);
PrintStream printStream = new PrintStream(fileOutputStream);
System.setOut(printStream);
System.out.println("默认输出到控制台的这一句,输出到了文件 out.txt");
追问
但是有异常信息呢!有没有用??
追答查api文档你就会看到每个异常的父类是Exception
从api上可以看到Exception的父类时Throwable
你该知道正常情况下异常是这样打印到控制台的e.printStackTrace()
这个方法后面有解释:将此 throwable 及其追踪输出至标准错误流。
如果你仔细就会发现下面有一个方法是你想要的void printStackTrace(PrintStream s)
将此 throwable 及其追踪输出到指定的输出流。
下面不用说了吧
不是啦,我就是想要取得信息 ,把它放到一个文本文件里去。大侠,帮帮忙!
以上是关于Java:如何获取错误信息?的主要内容,如果未能解决你的问题,请参考以下文章
REACT 中的 fetch() 失败,没有 statusText 也没有 json 正文。如何获取有关错误的额外信息?