A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 337091921 于 2013-5-11 21:43 编辑

public class Exception3 {  
public static int Sum(int n){
if(n<0)   throw new IllegalArgumentException("n应该为整数");  
int s=0;  
for(int i=0;i<=n;i++)
s+=i;  return s;
}
public static void main(String args[])
{
  try{   int n=Integer.parseInt(args[0]);
  System.out.println(Sum(n));
  }  catch(ArrayIndexOutOfBoundsException e)
{   
System.out.println("命令行为:"+"javaException3<number>");
  }  catch(NumberFormatException e2)
{
System.out.println("参数<number>应为整数!");
}  catch(IllegalArgumentException e3)
{
System.out.println("错误参数:"+e3.toString());
}
finally{System.out.println("程序结束");
}
}
}/*如果运行改程序的命令行输入为:java Exception3  屏幕显示为:java Exception3<number> 程序结束 如果命令行输入为:java Exception3 -4 屏幕显示为: 参数错误:java.long.IllegalAgumentException:n 应该为整数! 程序结束 可是程序运行时 跑出和捕获异常根本不起作用*/

点评

注意代码的缩进、美观,大家看着方便自然回答的就多  发表于 2013-4-27 08:51

评分

参与人数 1技术分 +1 收起 理由
曹睿翔 + 1 学学贴代码

查看全部评分

1 个回复

倒序浏览
你的Sum(int n) 方法没有把异常抛出, 应该是下面这样
public class Exception3 {
        public static int Sum(int n) throws IllegalArgumentException {
                if (n < 0)
                        throw new IllegalArgumentException("n应该为整数");
                int s = 0;
                for (int i = 0; i <= n; i++)
                        s += i;
                return s;
        }

        public static void main(String args[]) {
                try {
                        int n = Integer.parseInt(args[0]);
                        System.out.println(Sum(n));
                } catch (ArrayIndexOutOfBoundsException e) {
                        System.out.println("命令行为:" + "javaException3<number>");
                } catch (NumberFormatException e2) {
                        System.out.println("参数<number>应为整数!");
                } catch (IllegalArgumentException e3) {
                        System.out.println("错误参数:" + e3.toString());
                } finally {
                        System.out.println("程序结束");
                }
        }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马