java捕捉异常时出现的错误

来源:百度知道 编辑:UC知道 时间:2024/06/18 06:41:30
经常遇到的一个问题,没有源文件演示,见谅,希望我能描述清楚。

有些代码,我在主函数时直接throws Exception时,程序运行正常,等我细细的重新去try catch 每一段代码的时候,却经常出现找不到符号的错误,而这样的找不到符号经常是找不到try catch 之前定义的类。异常也抓得完整,也在不同的机子上试验过。

请给出一些处理思路和可能的想法。谢谢各位
看了各位的提示以后发现真的可能是定义作用域的问题!

谢谢各位 给第三位同学加分 但是也谢谢其他!

throws通常不用显示的捕获异常,可由系统自动将所有捕获的异常信息抛给上级方法;

throws本身并不捕获异常,方法后加了throws只能说明这个方法可能抛出异常.
例如:public Test() throws RepletException {

}
这个方法.就是可能抛出异常.这样的方法被调用的时候就必须加try..catch.或 在抛!

所以,也就说你主函数中确实有错误.而throws Exception时运行正常说明,有了异常也没东西捕捉.而你加了try..catch当然就能捕捉到了.至于错在哪.你又没贴代码(在加上本人水平有限).所以我也不是很清楚

1,2楼所说的作用域问题,是大家经常出的错.这个有可能.你最好把变量声明放在try上边.

是不是变量作用域的问题?

try{
String str = "123"; // 变量str的作用域只在try中有效。
int i = Integer.parseInt(str);
}catch(Exception ex){
// 下面的语句出错,str是一个不能识别的符号。
System.out.println(str + "不是一个有效的整数!");
}

上面的示例,如果去掉try...catch...语句是正常的,但加上,str的作用域发生了变化。

定义的时候不要在TRY CATCH里面定义,你的错误就是你对作用域不明确造成的。
在TRY CATCH里面定义的,出了这个TRY CATCH就失效了,放在外面定义就好了