利用try catch面对三角形出现的两种异常分别进行处理,若输入数据不为数字则利用catch抛出异常信息,在try中处理无法构成三角形的问题
时间: 2024-10-11 13:05:44 浏览: 37
使用异常处理输入是,输出三边,不是输出异常,还有输入取钱时也会输出的异常的问题
在编程中,特别是在Java等语言中,你可以通过`try-catch`块来处理可能出现的异常情况。当你尝试从用户那里获取用于计算三角形边长的数据时,可能会遇到两种类型的异常:
1. `NumberFormatException`: 当用户输入的不是有效的数字时,比如他们输入了一个字母或者其他非数字字符,`Integer.parseInt()`或类似函数会抛出这个异常。这时,可以在`catch(NumberFormatException e)`部分捕获并处理这种异常,通常会打印一条错误消息告知用户输入无效。
```java
import java.util.Scanner;
public class TriangleException {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
try {
System.out.println("请输入三角形第一条边的长度:");
int sideA = Integer.parseInt(scanner.nextLine());
// 更多的边长检查...
if (sideA <= 0 || ... // 检查其他两边是否满足三角形条件) {
throw new IllegalArgumentException("边长必须是非负数并且能够构成三角形"); // 如果不构成三角形,主动抛出异常
}
} catch (NumberFormatException e) {
System.out.println("输入错误: " + e.getMessage() + ". 请输入一个数字.");
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
}
}
}
```
在这个例子中,如果无法构成三角形,我们主动创建一个`IllegalArgumentException`并在`try`块内部抛出,然后由`catch(IllegalArgumentException e)`捕获并给出相应的提示。
阅读全文