当前位置:首页 > 实验指导书:实验7 异常处理与异常类
if(shiyan3.flag==3) {
YueKuanHuanE=DaiKuanE*(NianLiLv/12.0)/(1.0-Math.pow((1.0/(1.0+NianLiLv/12.0)),(DaiKuanNianShu*12)))
} else {
//若出现异常,则至少进行一次异常处理,flag的值变化
System.out.println(\您的输入有误.请重新输入您的贷款数额贷款年利率ZongKuanHuanE=YueKuanHuanE*DaiKuanNianShu*12;//计算总还款额 System.out.println(\月还款额为:\输出:月还款额System.out.println(\总还款额为:\shiyan3.flag=0;
;//计算月还款额
以及总的还款额
和贷款年限:\\n\
//若出现异常,重置flag=3;再次循环 }
public class shiyan3 { } 4
package 异常处理;
import java.util.Scanner;
public class text4 {
public static void main(String[] args) {
// TODO Auto-generated method stub //定义静态全局变量,作为是否出现异常的标记 static int flag=3;
public static void main(String args[]) { }
DaiKuan dk=new DaiKuan(); dk.DaiKuanJiSuan();
}
}
}
shiyan3.flag=3;
}
}
}
Scanner s=new Scanner(System.in);
double ss1 = 1.5; double ss2 = 0.1; double ss3 = 1.2;
ss1=s.nextDouble(); ss2=s.nextDouble(); ss3=s.nextDouble(); try { }
catch(IlleagalTriangleException ex) { }
System.out.println(ex.toString());
TriangleSideException tri = new TriangleSideException(ss1,ss2,ss3); System.out.println(tri.tostring());
@SuppressWarnings(\
class IlleagalTriangleException extends Exception{ }
class TriangleSideException{ }
public String tostring() {
return \合法\
}
private double side1,side2,side3;
public TriangleSideException(double side1,double side2,double side3) throws IlleagalTriangleException {
if((side1+side2)>side3&&(side1+side3)>side2&&(side3+side2)>side1) { else }
{throw new IlleagalTriangleException(side1,side2,side3);} this.side1 = side1; this.side2 = side2; this.side3 = side3; }
public IlleagalTriangleException(double s1,double s2,double s3) {
super(\三边不合法:三角形任意两边之和应大于第三边。\}
心得:实验过程中try块中的语句块只要发生异常就立刻爆出异常对象,然后被对应的catch块接住,也就是try之后的代码不会在程序中执行,当然也不会有任何的作用。当catch记住对象后,会执行相应的catch之后的代码,而无论是否发生异常finally语句会执行,它提供统一的出口。我在处理异常类的时候出现了在try中建立的变量而到catch和finally中无法使用,因为在try中建立变量是局部变量,无法在catch和finally中使用。自定义异常类中Exception抛出是要注意格式(Exception e)。这次试验对于异常处理作为程序开发的一个重要内容,它的优势关系到程序的健壮性和稳定性。也学会了自定义异常类的使用方法。
共分享92篇相关文档