异常处理

写一个void isTriangle(int a,int b,int c),判断是否能构成一个三角形,如果不能,则抛出异常IllegalArgumentExcepetion...(java课本P150 3-2).

一、代码如下:

importjava.util.*;

classIstriangle {

privateinta;

privateintb;

privateintc;

publicvoidisTriangle(inta,intb,intc)throwsIllegalArgumentException{

if(a+b<=c||a+c<=b||b+c<=a){

thrownewIllegalArgumentException("a,b,c不能构成三角形");

}

this.a=a;

this.b=b;

this.c=c;

}

publicString toString() {

return"a is"+a+" b is"+b+" c is"+c;

}

}

publicclassTriangle{

publicstaticvoidmain(String[] args) {

Istriangle p=newIstriangle();

Scanner sc=newScanner(System.in);

try{

p.isTriangle(sc.nextInt(),sc.nextInt(),sc.nextInt());

}catch(IllegalArgumentException e) {

e.printStackTrace();

}

System.out.println(p);

}

}

代码截图:

异常处理_第1张图片
图片发自App

运行截图

异常处理_第2张图片
图片发自App

异常处理_第3张图片
图片发自App

声明异常:throws

在使用异常机制注意点:

1.要避免用异常处理来代替错误处理,这样会降低程序的清晰性,并且效率低下

2.处理异常不可以代替简单测试,只在异常情况下使用异常机制

3.不要进行小粒度的异常处理,应该将整个任务包装在一个try语句块中

你可能感兴趣的:(异常处理)