异常
目录
在实际的程序设计中,并非所有错误都能在编译期间被侦测到。运行时错误会引起异常(exception,也称例外):程序运行过程中出现的事件,它中断正常的程序控制流程。没有异常处理代码的程序,可能会非正常结束,有时候会引起严重问题。
程序错误类型
程序中的错误可能有三种类型:编译错误、运行时错误、和逻辑错误。
(1)编译错误
是指编写的程序存在语法问题,未能通过源代码到目标代码的编译过程而产生的错误,它们由语言的编译系统负责检测和报告。
(2)运行时错误
是指在程序运行过程中,如果环境发现了一个不可能执行的操作,就会出现运行时错误
(3)逻辑错误
是指程序没有按照预期的方案执行。
什么是异常?
在程序执行中,任何中断正常程序流程的异常条件就是错误或异常 。
异常的主要作用?
异常的便利性
在不支持异常处理的语言中,语言本身在标识异常类型方面没有任何帮助,也不提供异常处理的工具
如在C语言中,
程序通常是通过返回一个非正常值(-1或null)表示错误和异常的。
这样,程序员为了检查可能发生的异常情况,就需要在程序中设置一些变量或者说标记量。
并使用很多的if-else语句。同时他还必须非常清楚地知道是什么导致了异常的产生,
以及异常的确切含义。
而在Java中,
用户不必专门去编写这些测试代码就可以比较容易地发现异常。
在默认情况下,异常会输出一个错误信息,然后中止程序的执行。
为了更好地处理异常情况,程序开发人员通常会在程序中定义异常处理代码块来捕获和处理异常。
这样,当异常情况发生时,一个代表该异常的对象会被创建,并在产生异常的方法中被引发。
该方法可以选择自己处理异常,也可以抛出该异常。
异常的健壮性
无论哪一种情况,异常最终都应该被捕获并做出相应的处理。
使用异常类的好处就在于它为程序调试提供了很大的方便,并能保证程序在出现异常的情况下
仍然能够继续执行下去,从而提高了程序的健壮性。
标签:Java,错误,处理,程序,学习,编译,异常 From: https://www.cnblogs.com/BingBing-8888/p/18412677