如何修复Java代码Catch块中的以下错误?

如何修复Java代码Catch块中的以下错误?,java,try-catch,printstacktrace,Java,Try Catch,Printstacktrace,在我的代码块的catch下使用printStackTrace()。下面是代码片段 try { # Debug Code added on 19 Feb 2016 logger.log(Level.INFO, "baseDNs[i] = "+baseDNs[i]); logger.log(Level.INFO, "search ="+search); logger.log(L

在我的代码块的
catch
下使用
printStackTrace()。下面是代码片段

         try
     {
            # Debug Code added on 19 Feb 2016
            logger.log(Level.INFO, "baseDNs[i] = "+baseDNs[i]);
            logger.log(Level.INFO, "search ="+search);
            logger.log(Level.INFO, "attributes = "+attributes);

        it = basicCmAgent.find_managed_objects(baseDNs[i], search, attributes);
     }
     catch(Exception e)
     {
        # Debug Code added on 19 Feb 2016
        logger.log(Level.SEVERE, "Caught Error : "+e.printStackTrace());

        logger.log(Level.WARNING, "Could not find managed objects with base DN " + baseDNs[i]);
        return false;
     }
以下是错误:

       asses/xml-apis.jar:../3pp_libraries/cxa_classes/irp3gppR99_330_j140.jar -d lib com/ericsson/nms/temip/importer/BasicCmConnection.java
    com/ericsson/nms/temip/importer/BasicCmConnection.java:177: 'void' type not allowed here
            logger.log(Level.SEVERE, "Caught Error : " +e.printStackTrace());
                                     ^
Note: ./com/ericsson/nms/temip/importer/BasicCmConverter.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error
*** Error exit code 1

Stop.
*** Error exit code 1

Stop.
如何修复此问题?

printStackTrace()
具有无效的返回类型,因此不能将其连接到
字符串或将其用作其他方法的参数

您可能想改用
getStackTrace()

logger.log(Level.SEVERE, "Caught Error : "+e.getStackTrace());
printStackTrace()
具有无效的返回类型,因此不能将其连接到
字符串,也不能将其用作另一个方法的参数

您可能想改用
getStackTrace()

logger.log(Level.SEVERE, "Caught Error : "+e.getStackTrace());

e.printStackTrace()
不返回字符串,它返回void并打印堆栈跟踪。您试图执行的
String+void=String
无效。

e.printStackTrace()
不返回字符串,它返回void并打印堆栈跟踪。您试图执行的
String+void=String
无效。

问题就在这一行

 logger.log(Level.SEVERE, "Caught Error : "+e.printStackTrace());
e.printStackTrace的返回类型为void。不能将字符串+void合并


更好地使用e.getStactTrace()

问题就在这一行

 logger.log(Level.SEVERE, "Caught Error : "+e.printStackTrace());
e.printStackTrace的返回类型为void。不能将字符串+void合并


更好地使用e.getStactTrace()

那些投反对票的家伙怎么了?我理解对一些人来说这可能不是一个很大的问题,但对于像我这样的初学者来说,这仍然是一个问题。那些投反对票的家伙怎么了?我理解对于一些人来说这可能不是一个很大的问题,但对于像我这样的初学者来说,这仍然是一个问题。