谁给我分析分析这个问题,谢啦

yeal911 2008-01-04 09:42:28
import java.lang.*;
import java.io.*;

class ServiceException extends Exception
{
public ServiceException(){}
public ServiceException(String s)
{
super(s);
}
}
public class Test
{
public static void main(String args[])
{
int i=100;
int j=10;
for(;j<=0;j--){

try
{
System.out.print(i/j + " ");

}
catch(ArithmeticException e)
{
System.out.println(e.getMessage());

}
}
try
{
throw new ServiceException("自定义异常执行");
}
catch(ServiceException se)
{
System.out.println(se.getMessage());
}
}
}



我的预期肯定会输出10条i/j的记录,后面跟着不能除0的异常信息,再跟着我自定义的异常信息。。。可是结果却是
“自定义异常执行”
就这一行
怎么回事,是我在什么理解上有什么错误还是什么其他问题,哪位帮忙解答下!谢啦
...全文
64 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yeal911 2008-01-04
  • 打赏
  • 举报
回复
谢谢各位,已经知道了。。我太粗心
octops 2008-01-04
  • 打赏
  • 举报
回复
是for循环的错误. 改成j>=0 就可以了.

10 11 12 14 16 20 25 33 50 100 / by zero
自定义异常执行

打印出的结果.是这样.仍然执行了自定义异常.因为你手动抛出了这个异常.所以会被捕获.
YeLang2007 2008-01-04
  • 打赏
  • 举报
回复

for(;j >=0;j--){
NicholasYJ 2008-01-04
  • 打赏
  • 举报
回复
LS正解。
YeLang2007 2008-01-04
  • 打赏
  • 举报
回复


这句改一下:

for(;j <=0;j--){ 


改成:

 for(;j <=0;j--){ 
yeal911 2008-01-04
  • 打赏
  • 举报
回复
我太粗心了。。谢谢。。
rigger21 2008-01-04
  • 打赏
  • 举报
回复
for(;j <=0;j--){ 这里写错了吧。 。 应该是 for(;j >=0;j--){吧, 要不你不可能执行的 。。 。 。。
yeal911 2008-01-04
  • 打赏
  • 举报
回复
for循环根本就不执行,里面换成其他语句也不行

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧