自定义异常 练习及分析:
练习题:购买某件商品出现大于库存商品件数时报出异常时的处理方法
1:先创建类名 在创建构造器
//package 包;exception 异常
package cn.tx.exception;
//Stock 库存;extends 继承;RuntimeException运行异常
public class StockException extends RuntimeException{
//创建构造器 Ctrl+o;在键盘上点住Shift 再用鼠标把前5个依次点下, 再点下面的ok就创建好了
public StockException() {
super();
}
public StockException(String message) {
super(message);
}
public StockException(String message, Throwable cause) {
super(message, cause);
}
public StockException(Throwable cause) {
super(cause);
}
protected StockException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
super(message, cause, enableSuppression, writableStackTrace);
}
}
库存为5;订购超过5时
package cn.tx.exception;
//import 导入
import java.io.FileNotFoundException;
import java.io.FileReader;
public class ExceptionDemo1 {
public static void main(String[] args) {
//Ctrl+alt+t
submitOrder(6);
}
public static void submitOrder(int stock){
if(stock>5){
throw new StockException("库存不足"+stock);
}
System.out.println("购买成功");
}
}
异常处理
package cn.tx.exception;
//import 导入
import java.io.FileNotFoundException;
import java.io.FileReader;
public class ExceptionDemo1 {
public static void main(String[] args) {
//Ctrl+alt+t
//处理方法
try {
submitOrder(6);
} catch (Exception e) {
System.out.println(“我知道库存不足了”);
//修改订购数量
submitOrder(4);
}
}
public static void submitOrder(int stock){
if(stock>5){
throw new StockException(“库存不足”+stock);
}
System.out.println(“购买成功”);
}
}