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




  • 相关阅读:
    HighTec-Eclipse for Tricore 的安装方法
    http升级https遇到的问题
    symfony中模板生成路径两种方式
    http请求在https中使用
    git tag标签
    Git查看两个版本之间修改了哪些文件
    mysql将语句写入表中
    使用fiddler抓包模拟器及配置fiddler过滤
    Mixed Content: The page at 'xxx' was loaded over HTTPS, but requested an insecure resource 'xxx'.
    nginx 禁止某IP访问
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3228594.html
Copyright © 2020-2023  润新知