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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 追影 于 2013-9-23 09:49 编辑
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;

  5. namespace 异常
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             int result = GetNumber(3);
  12.         }

  13.         static int GetNumber(int index)
  14.         {
  15.             int[] nums = { 300, 600, 900 };
  16.             if (index >= nums.Length)
  17.             {
  18.                 throw new IndexOutOfRangeException();//为什么不处理啊,想不通
  19.             }
  20.             return nums[index];

  21.         }
  22.     }
  23.    
  24. }
复制代码
纠结哦,为什么不处理,不是new了么

评分

参与人数 1技术分 +1 收起 理由
茹化肖 + 1 赞一个!

查看全部评分

4 个回复

倒序浏览
你在VS下按ctrl+F5,有提示错误啊
回复 使用道具 举报
索引超出了界限

异常111.JPG (38.57 KB, 下载次数: 46)

异常111.JPG

评分

参与人数 1技术分 +1 收起 理由
茹化肖 + 1

查看全部评分

回复 使用道具 举报
异常处理机制(try catch)不只会抛出异常还有在异常出现后程序该运行什么代码,是return,还是break神马的,而你只是把异常抛了出来并没有对异常进行任何处理,所以程序还是以不友好的方式抛出异常然后崩溃咯。嗯,大概就是这样,以上纯属个人猜测,如有错误,不要找我{:soso_e113:}
回复 使用道具 举报
七里香 发表于 2013-9-22 19:06
异常处理机制(try catch)不只会抛出异常还有在异常出现后程序该运行什么代码,是return,还是break神马的 ...

感觉,抛异常这东西不好用,还不如直接MessageBox.Show(e.Message),所以我看一般还是不用抛异常的好.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马