zoukankan      html  css  js  c++  java
  • Java菜鸟学习笔记--Exception篇(一):异常简介

    什么是异常(Exception)?


    简述:

    在运行过程中,应用程序可能遭遇各种严重程度不同的问题.异常提供了一种在不弄乱程序的情况下检查错误的巧妙方式.它也提供了一种直接报告错误的机制.

    不同类型异常在Java中被封装为不同的类,这也符合我Java里一切都是对象的原则,Java为我们提供了非常完美的异常处理机制。



    异常的结构图

    既然是类,自然有结构关系,让我们看看这些异常类的结构组成图




    JDK文档中的异常类


    在JDK文档中,可以查看异常类所有介绍和使用方法




    Exception 实例


    常见的异常



    	//2.1算数异常
    		
    	//	System.out.println(8/0);//编译通过
    		/*运行是输出:
    		
    		Exception in thread "main" java.lang.ArithmeticException: / by zero
    		at me.testexceptions.TestExceptions.main(TestExceptions.java:13)
    		
    		*///抛出java.lang.ArithmeticException异常

    	int[] a={1,2,3};
    		
    	//	int b=a[3];//编译无错
    		/* 运行时输出
    		Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
    		at me.testexceptions.TestExceptions.main(TestExceptions.java:25)
    		*///同样是运行时抛出异常 java.lang.ArrayIndexOutOfBoundsException
    		



    Java的异常处理机制(try…catch…finally)


    try 就像一个网,把try{ }里面的代码所抛出的异常都网住,然后把异常交给 catch{}里面的代码去处理。最后执行finally之中的代码。

    无论try中代码有没有异常,也无论catch是否将异常捕获到,finally中的代码都一定会被执行。

    	try{
    			int c=9/0;
    	
    		}catch(ArithmeticException my){
    			//其中my是异常对象,这个形参当系统出现错误抛出异常catch就把异常对象穿过來
    			System.out.println("出现异常");
    			
    		
    			//调用my的toString()方法,
    			System.out.println(my);//输出:java.lang.ArithmeticException: / by zero
    			
    			my.printStackTrace();
    			/*输出:
    			java.lang.ArithmeticException: / by zero
    			at me.testexceptions.TestExceptions.main(TestExceptions.java:35)
    			*///这个方法追踪异常的详细信息	
    		}
    
    




  • 相关阅读:
    git 删除已经提交的文件
    IDEA不显示service 服务窗口
    MySQL SQL语句查询结果 多列合并为1列
    Linux远程执行脚本
    mycat 连接命令
    win10 关闭被占用的端口
    ERROR 1045 (HY000): Access denied for user 'root', because password is error
    unblock with 'mysqladmin flush-hosts'
    neo4j数据库cypher查询
    基于websocket的网页实时消息推送与在线聊天(上篇)
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3228594.html
Copyright © 2011-2022 走看看