Java 如何存储错误异常消息

Java 如何存储错误异常消息,java,Java,比方说,在我的Java应用程序中,我的主类中有一个抛出异常,我对代码进行了尝试。在catch部分,我有一个代码,它将在我的应用程序中显示一个异常。我想知道的是,我是否可以存储控制台中显示的此异常消息,然后将此异常消息发送到我的电子邮件地址?我得到了电子邮件连接部分的工作,我需要做的就是找到一种方法来存储错误异常消息。我们将不胜感激 试着抓住一部分 public static void main (String[] args) throws Exception{ try {

比方说,在我的Java应用程序中,我的主类中有一个抛出异常,我对代码进行了尝试。在catch部分,我有一个代码,它将在我的应用程序中显示一个异常。我想知道的是,我是否可以存储控制台中显示的此异常消息,然后将此异常消息发送到我的电子邮件地址?我得到了电子邮件连接部分的工作,我需要做的就是找到一种方法来存储错误异常消息。我们将不胜感激

试着抓住一部分

public static void main (String[] args) throws Exception{


    try {

      //method and code go here



    }
    catch (Exception e){
        //Exception
         throw e;
    }
}
您可以调用exception对象上的getMessage来获取消息:

catch (Exception e) {
    String message = e.getMessage();
    // Do whatever with the message, for example e-mail it somewhere
}
如果您想要异常的完整堆栈跟踪,则需要做更多的工作才能将其转换为字符串:

catch (Exception e) {
    StringWriter sw = new StringWriter();
    PrintWriter pw = new PrintWriter(sw);
    e.printStackTrace(pw);
    pw.flush();
    String stackTrace = sw.toString();
    // do whatever you want to do with stackTrace
}
您可以调用exception对象上的getMessage来获取消息:

catch (Exception e) {
    String message = e.getMessage();
    // Do whatever with the message, for example e-mail it somewhere
}
如果您想要异常的完整堆栈跟踪,则需要做更多的工作才能将其转换为字符串:

catch (Exception e) {
    StringWriter sw = new StringWriter();
    PrintWriter pw = new PrintWriter(sw);
    e.printStackTrace(pw);
    pw.flush();
    String stackTrace = sw.toString();
    // do whatever you want to do with stackTrace
}

您可以使用获取错误消息:

e.getMessage();
如果要存储邮件,只需执行以下操作:

String message = e.getMessage();

您可以使用获取错误消息:

e.getMessage();
如果要存储邮件,只需执行以下操作:

String message = e.getMessage();
您可以使用exception类的toString方法,如下所示:

String message = e.toString();
您将获得有关类名、区域设置消息和错误消息的信息。这里有比getMessage方法更详细的信息

要存储异常消息以供进一步使用,还可以创建类字段

您可以使用exception类的toString方法,如下所示:

String message = e.toString();
您将获得有关类名、区域设置消息和错误消息的信息。这里有比getMessage方法更详细的信息



要存储异常消息以供进一步使用,还可以创建类字段

你也可以做+e作为一个例子shortcut@shieldgenerator7,有一种不好的方法来解释为什么?它可以绕过任何可能的障碍NullPointerExceptions@shieldgenerator7,如果我们在catch语句中,我们没有得到NPEYou也可以做+e作为shortcut@shieldgenerator7,有一种不好的方法来解释为什么?它可以绕过任何可能的障碍NullPointerExceptions@shieldgenerator7,如果我们在catch语句中,我们不会使用try-catch块得到NPEFYI-U r处理异常,因此从main方法中不需要抛出异常。哦,对了,我忘了,谢谢你指出:FYI-U r使用try-catch块处理异常,所以从主方法来看,不需要抛出异常。哦,对了,我忘了,谢谢你指出:非常感谢,这就是我要找的!第一个选项实际上应该是e.toString,以获取异常名称。消息本身通常是无意义的,例如,此表达式new int[0][1]抛出消息1的ArrayIndexOutOfBoundsException。我们不能使用:String stackTrace=e.getStackTrace.toString;我不是SURE@SaudgetStackTrace返回一个数组,数组的toString不会打印元素。非常感谢,这就是我要找的!第一个选项实际上应该是e.toString,以获取异常名称。消息本身通常是无意义的,例如,此表达式new int[0][1]抛出消息1的ArrayIndexOutOfBoundsException。我们不能使用:String stackTrace=e.getStackTrace.toString;我不是SURE@SaudgetStackTrace返回一个数组,数组的toString不打印元素。