一个异常的简单问题 请问一个简单的问题,JAVA的异常技术抛出的异常是在编译时抛出的,还是在运行时抛出的?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 编译出错,是因为合理而不和法的原因,比如1/0,人算可以记作正无穷,但是机器不会且对于机器也没有意义.根本原因是现代计算理论模型的不完备性,桌面PC,甚至巨型机,能计算的前提是当且仅当所计算的对象是有穷递归的.异常抛出,是合理且合法并可控的原因,这是一个设计,也就是说,你可以在你任何你想抛出地方抛出,且,在你想获得的地方获得.所以必然是在运行时抛出.个人认为,异常的设计,是为了缓和缺少了GOTO而产生的压力. 如果直接的throw出一个异常的情况下一般在编译的时候就会检测的了。但是RuntimeException的话就不会 Throwable 类是 Java 语言中所有错误或异常的超类。只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 Java throw 语句抛出。类似地,只有此类或其子类之一才可以是 catch 子句中的参数类型。 这是中文API上的话,通过 Java 虚拟机或者 Java throw 语句抛出,这就是说,异常都是在运行时产生并抛出的. 编译时,运行时都可能抛出异常运行时异常:特点是java编译器不会检查它,也就是说,当程序中可能出现这类异常时,即使没有用try..catch语句捕获它,也没有用throws自居声明抛出他,还是会编译通过,例如a/b ,b的值为0编译时异常:特点是java编译器会检查它,也就是说,当程序中可能出现这类异常时,要么用try...catch语句捕获它,要么用throws子句声明抛出他,否则编译不会通过两者的区别是;编译时异常表示程序可以处理的异常,运行时异常表示无法让程序恢复运行的异常 regionMatches第三个参数是什么呢? 【初学java】for循环内循环变量用16进制数可以吗?打印希腊字母遇到问题。 使用 java 写 asterisk AGI 编译 出错 请问重载构造函数时,怎么调用原来的构造函数? 求矩阵文件的行转列 极度郁闷中,各位高手救命啊!关于数据库查询的古怪问题 高分请教一个问题,帮忙啊! 关于一个下载程序的问题 怎样设置一个页面过期?清囊相赠!!! 新手提问- 二维数组赋值 来看看代码 请问多线程中怎么实现两种方法比较? 求几个书
异常抛出,是合理且合法并可控的原因,这是一个设计,也就是说,你可以在你任何你想抛出地方抛出,且,在你想获得的地方获得.所以必然是在运行时抛出.个人认为,异常的设计,是为了缓和缺少了GOTO而产生的压力.
编译时,运行时都可能抛出异常运行时异常:特点是java编译器不会检查它,也就是说,当程序中可能出现这类异常时,即使没有用try..catch语句捕获它,也没有用throws自居声明抛出他,还是会编译通过,例如a/b ,b的值为0编译时异常:特点是java编译器会检查它,也就是说,当程序中可能出现这类异常时,要么用try...catch
语句捕获它,要么用throws子句声明抛出他,否则编译不会通过
两者的区别是;编译时异常表示程序可以处理的异常,运行时异常表示无法让程序恢复运行的异常