异常简述
有异于常态,和正常情况不一样,有错误出现。
阻止当前方法或作用域,称之为异常
所有异常都继承于一个类,其名为Throwable类(万恶之源)
而继承于Throwable的最大的两个子类分别为Error类和Exception类
Error类主要指程序无法处理的错误
Exception中RuntimeExpcetion异常为非检查异常,会由java虚拟机自动抛出并自动捕获,此类出现错误出现主要是因为代码本身出现了问题,应当去从逻辑上改进代码,四类非检查异常依次对应的信息↓
空指针异常 NullPointerException
数组下标越界异常 ArrayIndexOutOfBoundsException
类型转换异常 ClassCastException
算数异常 ArithmeticException
检查异常需要手动添加捕获以及处理语句
使用try catch final来处理异常
try{
//一些会抛出异常的方法
}catch(Exception e){
//处理该异常的代码块
}
如果try块出现异常程序会停止异常,然后交由catch处理块来处理异常
try{
System.out.println("pleace print your age:");
Scanner input = new Scanner("System.in");
int age = input.nextInt();
System.out.println("ten years later you are"+(age + 10));
}catch (InputMismatchException e){
System.out.println("you must print whole number");
}
try块中的scanner类主要用于输入
import java.util.Scanner;
//实例化
Scanner scan = new Scanner(System.in);
String info = scan.next();
next() 与 nextLine() 区别
next():
- 1、一定要读取到有效字符后才可以结束输入。
- 2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
- 3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
- next() 不能得到带有空格的字符串。
nextLine():
- 1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
- 2、可以获得空白。