zoukankan      html  css  js  c++  java
  • Java 异常

    异常

    • 异常是在Java程序的运行期出现的错误。
    • 观察错误的名字和行号最重要。
    public class Test
    {
    	public static void main(String args[])
    	{
    		int arr [] = {1,2,3};
    		System.out.println(arr[4]); //尝试访问越界
    	}
    }
    结果:
    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4
    	at test.Test.main(Test.java:7)
    
    
    • Java程序的执行过程中如果出现异常事件,可以生成一个异常类对象(发生什么异常,就生成什么样的异常对象),该对象封装了异常事件的信息并将被提交给Java运行时系统,这个过程叫做抛出异常。默认处理方式是将异常信息打印。

    • 如果想自己处理异常,就要在抛给运行时系统之前,把异常抓住,做出相应的处理就可以了。

    • 当Java运行时系统接收到异常对象时,会寻找处理这种异常的代码(catch这种异常的代码)交给其处理,如果没有catch语句,就会默认处理。这一过程称作捕获异常。

    • 没有try语句就没有catch语句,try语句里面写的有可能产生某种异常的语句。catch里面写的是当这些语句发生异常时该怎么办。
    public class Test
    {
    	public static void main(String args[])
    	{
    	    try     //尝试大括号的语句
    	    {
    	        System.out.println(2/0);   //除0异常
    	    }
    	    catch(ArithmeticException ae)   //如果抓住ArithmeticException类异常,运行时系统会自动填充ae对象
    	    {
    	        System.out.println("出错!");
    	    }
    	}
    }
    

    有些异常可以不用try,catch来捕捉比如RuntimeException,但是其他的异常必须要catch。

    • try代码段后面可以跟多个catch代码段
    • 每个catch代码段声明其能处理一种特定类型的异常,并提供处理方法。
    • 当异常发生时,程序会终止当前的流程,根据获取异常的类型去执行相应的catch代码段,如果没有异常产生,跳过catch代码段继续执行。
    • finally段的代码无论是否发生异常都有执行。
  • 相关阅读:
    appium 方法整理
    appium_获取元素状态
    Locust性能测试_参数关联
    Locust性能测试-参数化批量注册
    pytest_命令行传参
    pytest_函数传参和firture传参数request
    pytest_用例a失败,跳过测试用例b和c并标记失败xfail
    pytest_skip跳过用例
    pytest_使用自定义标记mark
    算法:迷宫问题
  • 原文地址:https://www.cnblogs.com/031602523liu/p/8654199.html
Copyright © 2011-2022 走看看