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-->类加载异常
时间: 2024-08-02 07:03:10

Java中的异常处理机制的相关文章

Java中的异常处理机制的简单原理和应用。

异常是指java程序运行时(非编译)所发生的非正常情况或错误,与现实生活中的事件很相似,现实生活中的事件可以包含事件发生的时间.地点.人物.情节等信息,可以用一个对象来表示,Java使用面向对象的方式来处理异常,它把程序中发生的每个异常也都分别封装到一个对象来表示的,该对象中包含有异常的信息. Java对异常进行了分类,不同类型的异常分别用不同的Java类表示,所有异常的根类为java.lang.Throwable,Throwable下面又派生了两个子类:Error和Exception,Erro

Java中的异常处理机制的简单原理和应用

异常是指java程序运行时(非编译)所发生的非正常情况或错误,与现实生活中的事件很相似,现实生活中的事件可以包含事件发生的时间.地点.人物.情节等信息,可以用一个对象来表示,Java使用面向对象的方式来处理异常,它把程序中发生的每个异常也都分别封装到一个对象来表示的,该对象中包含有异常的信息. Java对异常进行了分类,不同类型的异常分别用不同的Java类表示,所有异常的根类为java.lang.Throwable,Throwable下面又派生了两个子类:Error和Exception,Erro

java中的异常处理机制_finally的使用

finally总结: finally代码块:定义一定执行的代码 通常用于关闭资源或者某些一定执行的代码 实例1:finally功能演示 class FuShuException extends Exception { FuShuException(String m) { super(m); } } class Demo { public int div(int x,int y) throws FuShuException { if(y<0) { throw new FuShuException(

43 java中的异常处理机制的简单原理和应用

java中利用反射机制绕开编译器对泛型的类型限制

首先看下面这个例子 public static void main(String[] args) { ArrayList<Integer> al1 = new ArrayList<Integer>(); al1.add(1); ArrayList<String> al2 = new ArrayList<String>(); al2.add("hello"); //int型链表和string型链表,结果为true System.out.pr

【转】Java中关于异常处理的十个最佳实践

原文地址:http://www.searchsoa.com.cn/showcontent_71960.htm 导读:异常处理是书写强健Java应用的一个重要部分,Java许你创建新的异常,并通过使用 throw 和 throws关键字抛出它们. 异常处理是书写强健Java应用的一个重要部分,它是关乎每个应用的一个非功能性需求,是为了优雅的处理任何错误状况,比如资源不可访问,非法输入,空输入等等.Java提供了几个异常处理特性,以try,catch和 finally 关键字的形式内建于语言自身之中

图解JAVA中的类加载机制(详细版)

注:本文为作者整理和原创,如有转载,请注明出处. 上一篇博文,把JAVA中的Class文件格式用图形的方式画了一下,逻辑感觉清晰多了,同时,也为以后查阅的方便. Class文件只是一种静态格式的二进制流,它只有被虚拟机加载进内存解析之后才会生成真正的运行时的结构,因此,搞清楚类加载机制不但有助于我们加深理解Class文件中各个字段的含义,同时也有利于我们更深入的了解JAVA代码背后的暗流涌动.比如new关键字背后,虚拟机都做了什么?JAVA中的哪些操作会真正导致类被加载?哪些操作又会导致类被初始

浅说Java中的反射机制(二)

写过一篇Java中的反射机制,不算是写,应该是抄了,因为那是别人写的,这一篇也是别人写的,摘抄如下: 引自于Java基础--反射机制的知识点梳理,作者醉眼识朦胧.(()为我手记) 什么是反射? 正常编译执行java文件时,会生成一个.class文件,反射就是一个反编译的过程,它可以通过.class文件得到一个java对象.一个类会有很多组成部分,比如成员变量.成员方法.构造方法等,反射可以通过加载类(加载类是个什么东西?一直搞不清楚),解剖出类的各个组成部分. 为什么要用反射? 我们需要访问一个

关于JAVA中的反射机制的总结

JAVA中的反射机制是一种能够大大增强程序扩展性的技术.当一个程序封装完成后(生成exe文件),如果想要对该程序进行功能扩展,不用进行代码的从新修改(也不可能拿到源码),只要修改配置文件(一般是XML)就可以完成. 这样的程序为外部提供了一个接口,只要按照该接口的规则定义一个对象(功能),即可以为应用程序扩展该功能. 可以这样比喻,你买了一块电脑主板(封装好的程序),此时你想要添加一块声卡(要扩展的功能),此时只能够通过一个pci接口(应用程序提供的接口)来进行扩展.声卡的接口必须符合PCI的规