Java异常处理
使用throws Exception 抛出异常程序还是一样会因为局部异常而停止执行
try catch能够避免因局部异常导致整个程序崩溃,当try里有多个异常时,执行遇到第一个异常后,其他语句将不再执行,直接跳出
try catch可以根据不同异常进行相对应处理
public class ExceptionTest {
public static void main(String[] args) {
try {
String d = null;
System.out.println(d.hashCode());
int a = 0;
int b = 10;
System.out.println(b/a);
}catch (ArithmeticException e){
System.out.println("算数异常");
}catch (NullPointerException e){
//空指针异常
System.out.println("空指针异常");
} finally {
//无论出现什么异常都会执行
System.out.println("始终执行");
}
System.out.println("-------");
}
}
自定义异常
首先现在自定义一个类继承Exception,然后这个类就可以当作异常类来使用。
自定义异常用途:向商城购物余额不足,库存不足。。。。。。。
public class ExceptionDemo extends Exception{
//自定义异常
//余额异常 库存异常。。。。。。
//自定义一些构造方法
public ExceptionDemo(){
}
public ExceptionDemo(String s) {
System.out.println(s);
}
}
//在另一个类使用
public class Hello{
public static void hi() throws ExceptionDemo {
//当随机数小余0.9就输出helloWorld 不然就抛出异常
if (Math.random() < 0.1){
System.out.println("helloWord");
}else {
throw new ExceptionDemo("人品出现异常");
}
}
public static void main(String[] args) throws ExceptionDemo {
//当调用这个方法时就可以对这个异常进行处理
hi();
}
}