实验六:Java异常处理(bo)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六Java异常处理
【实验目的】
1)掌握Java异常的概念及工作机制
2)掌握异常的分类
3)掌握抛出异常语句的使用(throw)
4)掌握抛出捕获处理异常语句的使用(try…catch…finally)
5)掌握上抛异常语句的使用(throws)
6)掌握创建自定义异常
【实验环境】
JDK1.6+Eclpise3.2
【实验准备】
1)复习课件中理论知识
2)练习课堂所讲的例子
【实验内容】
1、编写一个应用程序,要求从键盘输入一个double型的圆的半径,计算并输出其面积。测试当输入的数据不是double型数据(如字符串“abc”)会产生什么结果,怎样处理。
2、计算两个正数之和,当任意一个数超出范围时,抛出自己定义的异常(NumberRangeException)。
【实验过程及结果】
实验代码及运行结果:
1.package SIX;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.BufferedReader;
public class CIRCLE {
public static void main(String[] args) throws IOException { System.out.print("请输入半径: ");
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
try{
System.out.println("圆的面积为:
"+computerArea(Double.parseDouble(br.readLine())));
}
catch(NumberFormatException e){
System.out.println("您输入的不是数值,请重新输入");
}
}
public static double computerArea(double r)
{
r eturn Math.PI*r*r;
}
}
2. package SIX;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class shu {
public static void main(String[] args) throws IOException
{
System.out.println("请输入两个正整数(回车分隔):");
BufferedReader br=new BufferedReader(new
InputStreamReader(System.in));
int a=Integer.parseInt(br.readLine());
int b=Integer.parseInt(br.readLine());
try{
System.out.println("计算结果(求和)为:" +compute(a, b));
} catch (NumberRangeException e)
{
e.printStackTrace();
}
}
public static int compute(int a, int b) throws NumberRangeException
{
if( (a<0 || b<0))
{
throw new NumberRangeException("数字不在指定范围");
}
return (a+b);
}}
package SIX;
public class NumberRangeException extends Exception {
public NumberRangeException(String msg){
super(msg);
}
}
【实验感想】
本次实验是一个很重要的内容,本节主要是关于异常类的抛出和捕获,分别对应于两个函数:“throw”和“try…catch”,这两个函数在今后的实际操作中是十分有用的,应该熟练掌握。