黑马程序员_异常处理
来源:互联网 发布:全能转盘抽奖软件 编辑:程序博客网 时间:2024/06/05 14:28
------- android培训、java培训、期待与您交流! ----------
异常:
异常:就是程序在运行时出现不正常情况。
异常由来:问题也是现实生活中一个具体的事物,也可以通过java的类的形式进行描述。并封装成对象。其
实就是java对不正常情况进行描述后的对象体现。
异常的处理:
try
{
//需要被检测的代码;
}
catch(异常类变量)
{
//处理异常的代码;(处理方式)
}
finally
{
//一定会执行的语句;
}
当在函数内部出现了throw抛出异常对象,那么就必须要给对应的处理动作。
要么在内部try catch处理。
要么在函数上声明让调用者处理。
一般情况在,函数内出现异常,函数上需要声明。
对于异常分两种:
1、编译时被检测的异常
2、编译时不被检测的异常(运行时异常。RuntimeException以及其子类)
Finally的使用:一般在finally中回收一些资源,比如数据库连接的关闭、IO文件
流的通道关闭、临时变量的指针回收等等操作。唯一存有疑问的可能就是finally
的执行时机。到底是在return之前还是之后,实际上如果一个try块存在return了,
那么如果这段try块有相应的finally的话那么return操作先挂起,之后执行finally中
的代码,如果finally代码块没有return,或者其他影响try块的语句的话,那么执行
完finally代码段之后再执行return语句。什么情况下finally中会影响try中的return
执行呢?就是finally中也存在着return语句,或者System.exit(0);这种系统级关闭
的语句。
finally代码块:定义一定执行的代码。通常用于关闭资源。
try
{
}
catch ()
{
}
或
try
{
}
catch ()
{
}
finally
{
}
又或者
try
{
}
finally
{
}
异常练习:try catch finally练习
class LessThanZeroException extends Exception { public LessThanZeroException(String s) { super(s); } public LessThanZeroException() { this(""); } }public class Mult1 { protected double result; public void Mult1(double result)throws LessThanZeroException { this.set(result); } public void set(double result) throws LessThanZeroException { if(result<0) throw new LessThanZeroException(""+result); } public static void main(String args[]) { double m=4; double n=0.2; double result=m*n; try { if(result<0) {throw new LessThanZeroException();}} catch(LessThanZeroException e) { System.out.println("产生乘积小于0异常!"); } finally { System.out.println("乘积为"+result); } } }
------- android培训、java培训、期待与您交流! ----------
- 黑马程序员_ 异常处理
- 黑马程序员_异常处理
- 黑马程序员_异常处理
- 黑马程序员_异常处理.
- 黑马程序员_异常处理
- 黑马程序员_异常try,catch处理
- 黑马程序员_异常及处理
- 黑马程序员_异常处理学习笔记
- 黑马程序员_异常及处理
- 黑马程序员_Java基础_异常处理
- 黑马程序员 _学习笔记 异常处理
- 黑马程序员_异常处理篇
- 黑马程序员_Java基础_异常处理
- 黑马程序员_异常架构和异常处理
- 黑马程序员_异常
- 黑马程序员_异常
- 黑马程序员_异常
- 黑马程序员_异常
- MFC窗口创建过程
- git 设置
- java.io.FileNotFoundException: D:\workspace\tomcat\webroot (拒绝访问。)
- Cocos2D
- 课程设计
- 黑马程序员_异常处理
- 3D空间包围球(Bounding Sphere)的求法
- ios客户端暑期“动画屋“活动项目总结
- 关于人工智能中本体建模与知识获取工具Protege
- Linq学习(增、删、改)
- JavaMail学习笔记(七)、帐号激活与忘记密码 实例
- python学习笔记
- 如果动态的执行java脚本,这个在脚本公式配置的时候很方便
- Python 单词字母顺序不变且全部倒排