Java中的异常处理机制

Java中的异常处理机制

 示例

public class test {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String s="hello";
		int i=Integer.parseInt(s);
	}
}

运行异常结果

在上述代码中Integer.parseInt表示把字符串类型转化成整数类型,同时Integer是Int的封装类;程序会报错,因为计算机没有办法把hello转化成整数,这时就可以采用以下方式来解决这个问题

public class test {
	/**
	 * try块中表示可能会出错的内容
	 * catch块中是出错后执行的部分呢
	 * */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String s="100";
		try {
			int i=Integer.parseInt(s);
			/**
			 *程序不会出错时是不会执行到 catch块中的
			 * */
		} catch (NumberFormatException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

在catch块中还可以进行这样的处理:system.out.println(e.getMessage)-->打印出错误语句信息;;e.printstackTrace()-->打印的是堆栈信息;;以上示例中的事件也可以处理也可以不处理

 必须处理的错误

public static void main(String[] args){
    Class.forName("java.test");
}

抛出的错误为:Unhandle exception type ClassNotfoundException-->类没有找到的异常错误,这个错误系统要求必须处理,处理方式同上进行try{}catch{}来处理

 异常处理机制:程序运行时出现的,导致程序无法正常运行的错误称为异常

  1. Error:一般JVM运行的错误,不用处理,也没有办法处理
  2. Exception分为RuntimeException与非RuntimeException,运行异常可以选择处理或者不处理;非运行异常可以不用管太多

 异常类型总结

         RuntimeException:

      1. NullFointerExcption-->空指针异常
      2. IndexOutOfBoundException-->数组下标越界异常
      3. NumberFormatException-->数据格式异常
      4. ClassCastException-->类型转换异常
      5. IllegalArgumentException-->非法参数异常
      6. ArithmeticException-->算数异常

          非RuntimeException:

      1. ClassNotFoundException-->类加载异常
原文地址:https://www.cnblogs.com/sinon/p/5894667.html