任何一种程序设计语言设计的程序在运行时都有可能出现错误。
捕获错误最理想的是在编译期间,但有的错误只有在运行时才会发生。
对于这些错误,一般有两种解决方法:
遇到错误就终止程序的运行。
由程序员在编写程序时,就考虑到错误的检测、错误消息的提示,以及错误的处理。
java异常
在java语言中,将程序执行中发生的不正常情况称之为“异常”。
java中的异常用于处理非预期的情况,如文件没找到,网络错误,非法的参数。
java程序运行过程中所发生的异常事件可分为两类:
Error:JVM系统内部错误、资源耗尽等严重情况。
Exception:其它因编程错误或偶然的外在因素导致的一般性问题。
例如:空指针访问、试图读取不存在的文件、网络连接中断。
异常处理机制
java提供的异常处理是抓抛模型。
java程序的执行过程中如出现异常,会自动生成一个异常类对象,该异常对象将被提交给java运行时系统,这个过程称为抛出(throw)异常。
如果一个方法内抛出异常,该异常会抛到调用方法中。如果异常没有在调用方法中处理,它继续被抛给这个调用方法的调用者,这个过程将一直继续下去,知道异常被处理。这一过程称为捕获(catch)异常。
如果一个异常回到main()方法,并且main()也不处理,则程序运行终止。
程序员通常只能处理Expcetion,而对Error无能为力。