实验五 异常处理 实验课程名:面向对象程序设计(C++) 专业班级: 学号: 姓名: 实验时间: 实验地点: 指导教师: 一、实验目的和要求 1、了解异常的种类 2、 理解异常继承体系 3、 学习简单的异常处理方法。 4、掌握 C ++中异常的定义与使用方法; 二、实验内容 1.给出三角形的三边 a,b,c,求三角形的面积。只有 a+b>c,b+c>a,c+a>b时才能构成三角形。设置异常处理,对不符合三角形条件的输出警告信息,不予计算。 程序代码 #include #include using namespace std; int main() { double triangle(double,double,double); double a,b,c; cout<<"请输入三角形的三边:"<>a>>b>>c; try { while(a>0 && b>0 && c>0) { cout<<"三角形的面积为area="<>a>>b>>c; } } catch(double) { cout<<"输入的三边有误!"<c&&a+c>b&&b+c>a) { double s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); } else throw a; return area; } 程序运行结果 程序分析 Try 和 catch 后有加{},并且 catch 也要单独使用,后面要接 try 语句之间 不能有其他语句。 2. 编写一个程序,求输入数的平方根。设置异常处理,对输入负数的情况给出提示。 程序代码 #include #include using namespace std; double squareroot(double &a) { double n; if(a>=0) n=sqrt(a); else throw a; return n; } void main() { double m; char h='Y'; try { while(h=='Y') { cout<<"请输入一个需开方的数:"<>m; cout<>h; } } catch(double) { cout<<"输入的数为负数,无法开方!"<