首页 > 代码库 > 异常(Exception)
异常(Exception)
异常
Java运行过程中发生的异常可以分为两类:
1.错误(Error):JVM系统内部错误,资源耗费等严重情况
2.异常(Exception):其他因编程错误或偶然的外在因素导致的一般性问题
- 可以对下列情形在方法定义中抛出异常
(1) 方法中调用了一个会抛出“已检查异常”的方法
(2) 程序运行过程中发生了错误,并且用throw子句抛出一个”已检查异常”
a.对负数开平方根
b.空指针访问
c.试图读取不存在文件
d.网络连接中断
e.分母为0
PS:不要抛出:从Error派生的那些异常
JAVA异常处理机制
- JAVA程序的执行过程中如出现异常,会自动生成一个异常类对象,该异常对象将被提交给JAVA运行时系统,这个过程称为抛出(throw)异常----主动
- 当JAVA运行时系统接收到异常对象时,会寻找能处理这一异常的代码并把当前异常对象交给其处理,这一过程称为捕获(catch)异常----被动
- 如果JAVA运行时系统找不到可以捕获异常的方法,则运行时系统将终止,相应的JAVA程序也将退出
- 程序员通常只能处理Exception,而对错误Error无能为力
常见异常:
- RuntimeException
- ArithmeticException:数学计算异常
- NullPointerException:空指针异常
- NegativeArraySizeException:负数组长度异常
- ArrayIndexOutOfBoundsException:数组索引越界异常
- ClassNotFoundException:类文件未找到异常
- ClassCastException:造型异常
- IOException
- FileNotFoundException:文件未找到异常
- EOFException:读写文件尾异常
- MalformedURLException:URL格式错误异常
- SocketException:Socket异常(套接字)
- 算数异常类:ArithmeticException
- 空指针异常类:NullpointerException
- 类型强制转换异常:ClassCastException
- 数组负下标异常:NegativeArrayException
- 数组下标越界异常:ArrayIndexOutOfBoundsException
- 违背安全原则异常:Secturity Exception
- 文件已结束异常:EOFException
- 文件未找到异常:FileNotFoundException
- 字符串转换为数字异常:NumberFormatException
- 操作数据库异常:SQLException
- 输入输出异常:IOException
- 方法未找到异常:NotSuchMethodException
- 抽象方法错误异常java.lang.AbstractMethodError
- 断言错误异常java.lang.AssertionError
- 类循环依赖错误异常java.lang.ClassCircularityError
- PS:当一个异常没有在当前的try-catch中处理的话将会抛给调用它的方法(throws)
- PS:当一个异常一直没有能够被处理最后又回到主方法的时候,程序将会停止运行
-
如果程序需要catch块中访问异常对象的相关信息,可以通过调用catch后异常形参的方法来获得。当JAVA运行时决定调用某个catch块来处理异常对象时,会将该异常对象赋给该catch块后的异常参数,程序就可以通过该参数获得异常的相关信息啦
getMessage():返回该异常的详细描述字符串
printStackTrace():将 该异常的错误栈信息输出屏幕上
printStackTrace(PrintStream s):将该异常的跟踪栈信息输出到指定的输出流
getStackReace():返回该异常的跟踪栈信息
异常(Exception)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。