异常不可避免,
java解决异常的办法:try catch finally throws throw
解决异常:抓,抛
try 语句块用来对异常代码进行捕获
catch 对产生的异常进行对应的处理
finally 不管是否发生异常,代码块都要执行
java异常,产生异常的时候java会对应异常类型生成一个异常的对象
当try捕获到异常后,catch会拿到异常的对象和catch的后面的异常类型进行对比
如果对比成功,执行这个catch,如果对比失败,交给下一个catch块继续对比(有下一个catch的情况下)
五个常见的异常:NullPointerException 空指针异常,ArrayIndexOutOfBoundsException 数组下标越界异常,ClassNotFoundException 找不到类异常, FileNotFoundException 找不到文件异常,NetException ,SQLException SQL异常 IOException io异常NumberFormatException 数字格式化异常
常见的5个包:io lang util net sql
在try catch finally语句中,不管return在什么地方,在执行return之前都会调用finally代码块;
编写程序接收用户输入分数信息,如果分数在0—100之间,输出成绩。如果成绩不在该范围内,抛出异常信息,提示分数必须在0—100之间。
要求:使用自定义异常实现
-
package com.sxt;
-
import java.util.Scanner;
-
public class MathDome{
-
public static void main(String[] args) {
-
Scanner sc=new Scanner(System.in);
-
System.out.println("请输入数字");
-
try {
-
int a = sc.nextInt();
-
if(a<=100&&a>=1){
-
System.out.println(a);
-
}else{
-
throw new Exception("必须输入0-100之间的数");
-
}
-
}catch (Exception e) {
-
System.out.println(e.getMessage());
-
}finally{
-
sc.close();
-
}
-
}
-
}
写一个方法void isTriangle(int a,int b,int c),判断三个参数是否能构成一个三角形, 如果不能则抛出异常IllegalArgumentException,显示异常信息 “a,b,c不能构成三角形”,如果可以构成则显示三角形三个边长,在主方法中得到命令行输入的三个整数, 调用此方法,并捕获异常。
-
package com.sxt;
-
import javax.swing.plaf.basic.BasicSliderUI.TrackListener;
-
/**
-
* 三角形
-
* @author Administrator
-
*/
-
public class Triangle {
-
public void isTriangle(int a,int b,int c){
-
try {
-
if(a+b>c&&a+c>b&&b+c>a){
-
System.out.println(a+":"+b+":"+c);
-
}else{
-
throw new IllegalArgumentException();
-
}
-
} catch (IllegalArgumentException e) {
-
System.out.println("a,b,c不能构成三角形");
-
}
-
}
-
public static void main(String[] args) {
-
Triangle a=new Triangle();
-
a.isTriangle(1, 1, 1);
-
}