- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                实验四   异常处理
                    实验四   异常处理
一、	实验目的
(1)学会利用Try-catch-finally语句来捕获和处理异常;
(2)掌握自定义异常类的方法。
二、	实验要求
通过编程理解系统异常处理的机制和创建自定义异常的方法。
三、	实验内容
1. Java的异常处理
(1) 编写使用 try…catch 语句处理异常的程序文件Demo4_1.java,
源代码如下: 
public class Demo4_1{ 
  public static void main(String[] arg3) { 
    System.out.println(这是一个异常处理的例子\n); 
    try { 
      int i=10; 
      i /=0; 
    } 
    catch (ArithmeticException e) { 
       System.out.println(异常是:+e.getMessage()); 
    } 
    finally { 
    		System.out.println(finally 语句被执行); 
    } 
  } 
} 
?  编译并运行程序。
[思考]将 catch 语句中声明的异常类改为 Exception,能否捕获到异常,为什么?
    (注意:如果在 catch 语句中声明的异常类是 Exception,catch 语句也能正确地捕获,这是因为 Exception是ArithmeticException的父类。如果不能确定会发生哪种情况的异常,那么最好指定catch的参数为 Exception,即说明异常的类型为 Exception。)
(2) 源文件是Demo4_2.java。要捕捉的异常是除数为零和数组下标越界。通过修改a和c[]下标值体验程序。
public class Demo4_2
{  public static void main (String[] args) 
	{int a, b;
	 int c[]={1,2,3};
      try{ a=10;	       
	         b=100/a;
	         System.out.println  (当前a值:+a);
	         c[2]=200;	      
		     System.out.println  (当前数组长:+c.length);
	       }catch(ArithmeticException e)  
{ System.out.println (除零错误:+e);	}  	     	       
	        catch(ArrayIndexOutOfBoundsException e)
	        { System.out.println (数组下标越界:+e); }	       
	        finally
	        { System.out.println (我是finally);}	   
	     System.out.println (我能被正常执行到);
	}
}
【思考】
①  先运行上面没有错误程序,观察运行结果。 
②  按下条件分别修改数据,编译后运行,观察输出结果,分析在try…catch块里那些语句没有被执行,为什么? 块外那些语句可被执行到,为什么?
修改a=0, 保持c[2]=200;
保持a=10,修改c[3]=200,
修改a=0, 修改c[2]=200;
③  再添加一个catch{Exception e}{ },位置在最前面,观察编译信息,说明什么?
(3)源程序如下:
 public class Test {
    public static void main(String[] args) {
        try {
            System.out.println(1 / 0);
        } catch (Exception e) {
            System.out.println(e.toString());
            System.out.println(--------------------);
            System.out.println(e.getMessage());
            System.out.println(--------------------);
            e.printStackTrace();
        }
    }
}
【思考】
Excetpion类的toString,getMessage,printStackTr
                您可能关注的文档
最近下载
- 留岗培训金属热处理初级工理论考试.docx VIP
- 铝方通吊顶安装施工方案及技术措施.docx VIP
- 商务英语(北京交通大学)中国大学MOOC慕课章节测验答案(课程ID:1205722812).pdf VIP
- 第37号:危险性较大分部分项工程管理规定(2018).docx VIP
- 难治性支原体肺炎诊治.pdf
- 初中语文整本书阅读教学与写作能力提升的实践课题报告教学研究课题报告.docx
- 全新版进阶视听说B1 四级听力训练4测试答案.docx VIP
- 初二下学期期中考试(数学)试题含答案.docx VIP
- 高净值人士税务观察:个人股东在并购重组中能否暂免纳税?.pdf
- 落地式外脚手架施工方案修改版.docx VIP
 原创力文档
原创力文档 
                         
                                    

文档评论(0)