2014-07-09 59 views
-3

我正在查看以下代码段中重新编译了哪种类型的异常。 虽然我不确定如何去做,或者甚至可能。检查APEX异常类型

try { 
    //SOME LOGIC 
} catch (exception ex) { 
    System.debug(//EXCEPTION TYPE); 
} 

有没有人有任何建议或建议?

回答

1

一些摸索我找到了答案后,

try { 
    //SOME LOGIC 
} catch (Exception ex) { 
    System.debug(ex.getTypeName()); 
} 

方法很好地诀窍。

我很抱歉没有指定我在Apex工作在我的问题。

2
try { 
//SOME LOGIC 
} catch (Exception ex) { 
    System.err.println(ex.getClass().getName()); 
} 

几件事情:

  1. 您已经发布了异常。我假设你的意思是异常。
  2. System.debug不存在。
  3. 我已经回答了您的具体问题,但显然这不是标准的异常处理代码。您将输出堆栈跟踪,记录异常或重新抛出一个异常。
+0

感谢您的回答JamesB,但我得到以下错误, 方法不存在或不正确的签名:[例外] .getClass() – Daft

+0

其他的东西一定是你的代码有问题。 getClass方法属于java.lang.Object,所以每个对象都有这个方法。 – JamesB

1

首先,在您的catch块中指定例外。在语义上,type包括Exception不属于驼峰的情况。

其次,可以通过Exception.getClass().getName()获得异常类型:

catch (Exception exception) { 
    System.out.println(exception.getClass().getName()); 
    // exception.printStackTrace(); 
    // throw exception; 
} 

指定者:
http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html