什么异常在编译阶段必须明确
① 按异常在编译时是否被检测来分,异常可以分成哪两种
检查时异常(checkException)和运行时异常(runtime Exception)
② java编译异常有哪几个
Exception下除了RuntimeException及其子类以外的所有子类,JDK文档上说,已知道的直接子类有:
③ 瀵归珮绾ц瑷婧愮▼搴忚繘琛岀紪璇戞椂锛屽彲鍙戠幇婧愮▼搴忎腑锛 锛夐敊璇銆
銆愮瓟妗堛戯细B
链棰樿冩煡缂栬疟杩囩▼锘烘湰鐭ヨ瘑銆傞珮绾ц瑷婧愮▼搴忎腑阌栾鍒嗕负涓ょ被锛氲娉曢敊璇鍜岃涔夐敊璇锛屽叾涓璇涔夐敊璇鍙埚彲鍒嗕负闱欐佽涔夐敊璇鍜屽姩镐佽涔夐敊璇銆傝娉曢敊璇鎸囱瑷缁撴瀯涓婇敊璇锛岄润镐佽涔夐敊璇鎸囩紪璇戞椂灏辫兘鍙戠幇绋嫔簭钖涔変笂阌栾锛屽姩镐佽涔夐敊璇鍙链夊湪绋嫔簭杩愯屾椂镓嶈兘琛ㄧ幇鍑烘潵銆傚爢镙堟孩鍑恒佹寚阍埚纾甯稿拰鏁扮粍鍏幂礌涓嬫爣瓒婄晫閮芥槸绋嫔簭杩愯屼腑镓嶈兘鍑虹幇闂棰桡纴钥岄伒寰鍏埚0鏄庡悗寮旷敤铡熷垯绋嫔簭璇瑷蹇呴’鍏埚畾涔夊彉閲忥纴铹跺悗镓嶈兘浣跨敤锛屽惁鍒欑紪璇戝櫒浼氩湪璇娉曞垎鏋愰桩娈垫寚鍑哄彉閲忔湭瀹氢箟阌栾銆
④ Java之运行时异常与编译时异常区别
Java中用2种方法处理异常:
1.在发生异常的地方直接处理;
2.将异常抛给调用者,让调用者处理。
Java常见的异常:
(1)编译时异常:Java.lang.Exception
(2)运行期异常:Java.lang.RuntimeException
Java.lang.Exception和Java.lang.Error继承自Java.lang.Throwable;
Java.lang.RuntimeException继承自Java.lang.Exception.
编译时异常: 程序正确,但因为外在的环境条件不满足引发。例如:用户错误及I/O问题----程序试图打开一个并不存在的远程Socket端口。这不是程序本身的逻辑错误,而很可能是远程机器名字错误(用户拼写错误)。对商用软件系统,程序开发者必须考虑并处理这个问题。Java编译器强制要求处理这类异常,如果不捕获这类异常,程序将不能被编译。
运行期异常: 这意味着程序存在bug,如数组越界,0被除,入参不满足规范.....这类异常需要更改程序来避免,Java编译器强制要求处理这类异常。
⑤ 异常(Exception)分几种类型有什么区别写出几个常见异常。
Java 中的异常(Exception)又称为例外,是一个在程序执行期间发生的事件,它中断正在执行的程序的正常指令流。为了能够及时有效地处理程序中的运行错误,必须使用异常类。
异常主要分为以下两种异常。
1、运行时异常都是 RuntimeException 类及其子类异常,如
NullPointerException、IndexOutOfBoundsException
等,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。这些异常一般由程序逻辑错误引起,程序应该从逻辑角度尽可能避免这类异常的发生。
2、非运行时异常是指 RuntimeException
以外的异常,类型上都属于 Exception 类及其子类。程序就不能编译通过。IOException和ClassNotFoundException 等以及用户自定义的 Exception 异常,一般情况下不自定义检查异常。
(5)什么异常在编译阶段必须明确扩展阅读
java的exception机制:
早期的C语言的异常处理机制,通常是我们人为的对返回结果加一些标志来进行判定,比如发生错误返回什么标志,正常情况下我们又是返回什么标记,而这些都不是语言本身所赋予我们的,这种机制的问题在于,C语言的异常处理机制全是我们人为的定义。
这样就会造成业务逻辑的主线受到异常处理的牵制,或者说是我们难免会将注意力转移,并且造成业务逻辑与异常处理之间有很大程度上的缠绕。