首页 > 代码库 > JAVA笔记9__异常/throw关键字
JAVA笔记9__异常/throw关键字
/** * 异常:在程序中导致程序中断运行的一些指令 * 1.受检异常:编译期 * 2.非受检异常:运行期 * 异常处理过程分析: * 1.一旦产生异常,系统会自动产生一个异常类的实例化对象 * 2.此时如果存在对应try语句,则执行,否则程序将退出,并由系统报告错误 * */public class Main { public static void main(String[] args) { /* try{ //有可能发生异常的代码段 }catch(异常类型对象){ //异常的处理操作 }catch(异常类型对象){ //异常的处理操作 }... finally{ //异常的统一出口 } */ int a = 100; Scanner input = new Scanner(System.in); try{ for(int i=0;i<10;++i){ int b = input.nextInt(); int c = a / b; System.out.println(c); } }catch(ArithmeticException e){ System.out.println("算术运算异常"); e.printStackTrace(); //输出栈中的异常信息 }catch(Exception e){ System.out.println("运算异常"); }finally{ //用途:资源的释放 System.out.println("finally:不管try中的语句是否出现异常都会执行"); } div(10,2); } public static int div(int a,int b){ int res=0; try{ res=a/b; return res; //执行完finally里的东西才执行这句 }catch(ArithmeticException e){ e.printStackTrace(); return 0; }finally{ System.out.println("除法运算结束"); } }}
public class Main { public static int add() throws InputMismatchException{ //抛出,让上级去处理 Scanner input = new Scanner(System.in); try{ int a = input.nextInt(); int b = input.nextInt(); return a+b; }catch(InputMismatchException e){ //throw new InputMismatchException("There is a mistake."); throw e; }finally{ System.out.println("All finished."); } } public static void main(String[] args) { try{ System.out.println(add()); }catch(InputMismatchException e){ //上级来处理 e.printStackTrace(); } }}
JAVA笔记9__异常/throw关键字
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。