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)
    			*///这个方法追踪异常的详细信息	
    		}
    
    




  • 相关阅读:
    JS/jquery实现鼠标控制页面元素显隐
    【干货】十分钟读懂浏览器渲染流程
    【干货分享】程序员常访问的国外技术交流网站汇总
    jquery源码分析(七)——事件模块 event(二)
    jquery源码分析(五)——Deferred 延迟对象
    对于BFC(block format context)理解
    前端开发神器之chrome 综述
    重新认识面向对象
    DOMContentLoaded 与onload区别以及使用
    HTML5本地存储——Web SQL Database与indexedDB
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3228594.html
Copyright © 2011-2022 走看看