zoukankan      html  css  js  c++  java
  • 异常

    1.异常是java运行中出现的问题的称呼。异常(Exception)的祖宗类是Throwable,与异常平级的Throwable的一个子类是Error,异常可以被处理,而错误(Error)无法被处理,只能重写源码。

    2.Exception的一个子类RuntimeException是运行时出现异常使用的类。它不需要被抛出或处理,只能被重写,与Error类似。

    3.异常处理的抛出是不断向调用者抛出,最终抛向JVM,而JVM只能用红字标出错误所在和终止程序。

    4.在方法中判断异常的可能性,并用throw new Exception(String str)来向方法抛出问题,方法上会出现throws Exception来接收抛出的异常,此处的Exception是类名。然后在try catch的catch的()中用Exception e//可根据实际情况变化    接收异常,然后用Exception方法来打印到控制台上。

    5.try catch finally格式

    try{//被测试代码}catch(异常类名 变量名){//处理方式}finally{//一定被执行的代码}

    6.如果没有一定被执行的代码,可以去掉finally。

    7.可以使用一个try,多个catch的方法,但catch后面括号中的异常不能相同,并且若catch括号中的异常有子父类关系,子类要放在父类的前头,因为父类若放在前头,会发生多态,直接接收到子类的异常。

    8.若父类没有声明异常,则子类也不能声明异常,只能重写或try catch处理。若父类声明了异常,则子类声明的异常不能超过父类声明异常的等级。

    一个简单的抛出异常和处理异常的示例

    public class Demo01 {
    
    	public static void main(String[] args) {
    		int[] arr={1,2,3};
    		try{
    		int x=count(arr);
    		System.out.println(x);
    		}catch(Exception e){
    			//三种处理异常的方法,都是打印到控制台上通知语句
    			e.printStackTrace();
    			System.out.println(e.getMessage());
    			System.out.println(e);
    		}
    
    	}
    	//变量名后面的throws Exception是在声明异常
    	public static int count(int[] arr) throws Exception{
    		//判断条件,通过条件抛出异常
    		if(arr.length<4){
    			throw new Exception("数组长度不够");//抛出异常
    		}
    		int x=arr[4]*2;
    		return x;
    	}
    
    }
    
  • 相关阅读:
    Laravel源码解析 — 服务容器
    Java日志框架中需要判断log.isDebugEnabled()吗?
    使用C语言实现线性表
    new-delete
    webrtc-AudioprcessingModule 3A算法demo
    关于iPhone语音备忘录访问
    关于音频通话耗时
    关于Windows上使用OpenAL API声源音效
    c++ 类术语
    二分法查找
  • 原文地址:https://www.cnblogs.com/zhangrui0328/p/9184734.html
Copyright © 2011-2022 走看看