首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

菜鸟 错误处理有关问题

2012-01-08 
初学者 异常处理问题public class FirstUnoContact{public static void main (String[] args){try{//get t

初学者 异常处理问题
public class FirstUnoContact
{
public static void main (String[] args)
{
try
{
//get the remote office component context
System.out.println ("Bootstrap ..."); //这里运行
com.sun.star.uno.XComponentContext xContext =
com.sun.star.comp.helper.Bootstrap.bootstrap ();
System.out.println ("Connected to a running office ..."); //这里却没运行
com.sun.star.lang.XMultiComponentFactory xMCF =
xContext.getServiceManager ();
String available = (xMCF != null ? "available" : "not available");
System.out.println ("remote ServiceManager is " + available);
}
catch (java.lang.Exception e)
{
System.out.println ("Exception ..."); //这里没有运行,证明没有发生异常?
e.printStackTrace ();
}
finally
{
System.out.println ("exit ..."); //直接运行这里
System.exit (0);
}
}
}

以上代码的结果是:
Bootstrap ...
exit ...

我感到不解的是 既然没有发生异常跳转到catch块 为什么不能够顺序的执行下去,从而运行System.out.println ("Connected to a running office ...");这一句呢?

[解决办法]
你是不是间接调用了JNI方法?
C或C++模块中的本地异常Java是捕捉不到的。
[解决办法]
那就奇了,如果都在Java中,没有什么异常可以逃脱catch (java.lang.Exception e)的。
[解决办法]
你把System.exit (0); 取消看看,是不是出runtimeException
[解决办法]
为什么要使用这个啊

System.exit (0); 

把这个删掉试试
[解决办法]
更奇了,为啥简单一点的程序就不会?

Java code
public class Test {    public static void main(String[] args) {        try {            throw new ClassNotFoundException();        } catch (java.lang.Exception e) {            e.printStackTrace();        } finally {            System.out.println("end...");            System.exit(0);        }    }} 

热点排行
Bad Request.