异常,异常的使用,Throw和Throws的区别,
来源:互联网 发布:湘妹子的特点 知乎 编辑:程序博客网 时间:2024/05/29 14:33
什么是异常?
(1)程序出现的不正常的情况。(2)异常的体系 Throwable Error 严重问题,我们不处理。 Exception RuntimeException 运行期异常,我们需要修正代码。 非RuntimeException 编译期异常,必须处理的,否则程序编译不通过。
首先我们用一个例子来说明一下:
public static void main(String[] args) { // TODO 自动生成的方法存根/*/ * 处理异常的办法 * try... catch...finally * throws * */ int a = 10; int b = 2; System.out.println(a / b); System.out.println("结束"); }}
输出结果是:
5
结束
但是我们把代码稍微改变一下:
public static void main(String[] args) { // TODO 自动生成的方法存根 /* * / 处理异常的办法 try... catch...finally throws * */ int a = 10; // int b = 2; int b = 0; System.out.println(a / b); System.out.println("结束"); }}
通过这样我们发现程序没报错 ,但是运行结果如下:
java.lang.ArithmeticException
这时候程序就出现了异常情况,我要改怎么处理呢?
/*
* / 处理异常的办法 try… catch…finally
* throws
*
*/
public static void main(String[] args) { // TODO 自动生成的方法存根 /* * / 处理异常的办法 try... catch...finally throws * */ int a = 10; // int b = 2; int b = 0; try { System.out.println(a / b); } catch (Exception e) { System.out.println("除数不能为0!"); } System.out.println("结束"); }}
这样呢,我们输出结果:
除数不能为0!
结束
我们声明的一点是,在catch代码里必须要有声明或者其他解决异常问题的方案或者提示,否则添加这个try…catch就没有了任何的意义!
我们到底该如何处理异常:如果改功能内部可以将问题处理,用try…catch,如果处理不了交由调用者处理,这是用Throw
异常的处理:
JVM的默认处理
把异常的名称,原因,位置等信息输出在控制台,但是程序不能继续运行。
自己处理
a:try…catch…finally
自己编写处理代码,使得后面的程序可以继续执行。
b:throws
把自己处理不了的,在方法上声明,告诉调用者,这里是有问题的!
Throw和Throws的区别
Throw和Throws的区别。
1.Throws使用在函数上,Throw使用在函数内。
2.Throws后面跟异常类,可以跟多个,用逗号区别,Throw后面跟的是异常对象。
0 0
- 异常,异常的使用,Throw和Throws的区别,
- Java 异常 throw和throws的区别
- 异常处理throw和throws的区别
- java 异常 throw 和 throws 的区别
- 异常的形式、自定义异常、throw和throws的区别
- java异常处理的throw和throws的区别
- java异常处理的throw和throws的区别
- java异常处理的throw和throws的区别
- java异常处理的throw和throws的区别
- java异常处理的throw和throws的区别
- 异常处理throws与throw的区别
- 异常抛出throw与throws的区别
- Java异常throw与throws的区别
- 关于java异常中的throws和throw的区别
- 异常处理--throw和throws的区别(转载)
- 【转】关于java异常中的throws和throw的区别
- java自定义异常以及throws和throw的区别
- 异常机制中throw和throws的区别
- C++ 类成员函数的重载(overload),重写/覆盖(override),隐藏
- VS2015无法新建项目错误及解决方法:无法打开“……/VC?VCWizards/default.vcxproj”因为此版本的应用程序不支持其项目类型(.vcxproj)
- 学习 Jena
- 安装Sublime+Emmet插件作为前端开发环境,第一个简单页面
- 迟来的2016年总结
- 异常,异常的使用,Throw和Throws的区别,
- 菜鸟笔记#2.获取注册码
- 1017. A除以B (20)-大整数运算
- 微信支付商户号的调研
- Hbase笔记二之Hbase Shell基本操作
- Android 播放SD卡视频 Demo
- 基本概念
- 水仙花数
- E. Mahmoud and a xor trip----树形DP