java的异常
来源:互联网 发布:淘宝服装行业的利润 编辑:程序博客网 时间:2024/06/04 21:57
异常
异常就是Java程序在运行过程中出现的错误。
异常的分类
- Error (服务器挂了,数据库挂了)
- Exception
Exception
继承体系:
- Throwable
- Error
- Exception
- RuntimeException
异常的处理方式
1,自己将该问题处理,然后继续运行( try…catch….finally ).(如果处理异常后还需要执行其他语句的,则用这种方法.)
2,自己没处理,交给调用者处理,也叫往上抛 throws.(这种处理方式如果出现异常时,会执行处理异常并停止运行,也就是说出现异常后面的语句不会继续运行的了.)
Java中的异常被分为两大类:编译时异常和运行时异常。
编译时异常
- Java程序必须显示处理,否则程序就会发生错误,无法通过编译
运行时异常
- 无需显示处理,也可以和编译时异常一样处理
异常中常见的方法
Throwable的几个常见方法
- a:getMessage()
* 获取异常信息,返回字符串。 - b:toString()
- 获取异常类名和异常信息,返回字符串。
- c:printStackTrace()
- 获取异常类名和异常信息,以及异常出现在程序中的位置。返回值void。
异常类面试题
throws和throw的区别
- a:throws
- 用在方法声明后面,跟的是异常类名
- 可以跟多个异常类名,用逗号隔开
- 表示抛出异常,由该方法的调用者来处理
- b:throw
- 用在方法体内,跟的是异常对象名
- 只能抛出一个异常对象名
- 表示抛出异常,由方法体内的语句处理
举个栗子:
package com.zero.mm;public class MM { private String name; private int size; public MM() { super(); } public MM(String name, int size) { super(); this.name = name; this.size = size; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getSize() { return size; } public void setSize(int size) { this.size = size; } @Override public String toString() { return "MM [name=" + name + ", size=" + size + "]"; } public void makeMyGirlFriend() throws Exception{ if(size > 42) System.out.println(name+" is "+"my"+" girl"); else throw new Exception("you are not Suitable"); } //如果抛的是运行时异常的话是不用再方法上声明的.// public void makeMyGirlFriend(){// if(size > 42)// System.out.println(name+" is "+"my"+" girl");// else// throw new RuntimeException("you are not Suitable");// }}
finally 关键字的面试题
面试题1
- final,finally和finalize的区别
其实他们样子很像,当用处一点关系都没有,压根是面试官显摆的.
final—–可以修饰类,方法,变量,由于是最终的意思,所以该类不能被继承,该方法不能被重写,该变量只能赋值一次.
finally—-是try 语句中的一个语句题,不能单独使用,用来释放资源的
finalize— 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。(Object 类中的一个方法.)
- final,finally和finalize的区别
面试题2
- 如果catch里面有return语句,请问finally的代码还会执行吗?如果会,请问是在return前还是return后。(其实是先将结果给return ,然后检查是否有 finally 的语句,就执行finally 中的语句体,最后彻底返回 .)还有一点是切记不要在finally 语句中return 数据.
举个例子
/* 最后返回的结果是 30 */ public static int getSize() { int size = 10; try { size = 20; int i = 100 /0; return size; } catch (Exception e) { size = 30; System.out.println("异常了"); return size; } finally { size = 40;// return size; } }
0 0
- java异常的异常类型
- Java异常的处理
- java的异常处理
- java中的的异常
- 有效的Java异常
- 有效的Java异常
- java的异常处理
- JAVA异常的认识
- 有效的Java异常
- 有效的Java异常
- java的异常处理
- 有效的Java异常
- 有效的Java异常
- Java异常的例子
- Java异常的处理
- Java异常的分类
- Java的异常小结
- 理解java的异常
- 2017年排名有望上升的语言
- (2050): 【NOIP2012普及组】摆花
- 练习
- android逆向日记-Dex文件格式详解
- 阿里云ftp安装
- java的异常
- Android中的View
- Lodop、C-Lodop页面找不到报404错误解决
- 按照之字形顺序打印二叉树
- (转)大数据证券行业客户360度画像
- 函数参数
- Linux终端关闭后台进程也结束原因分析和nohup的使用
- phpmailer 在服务器上不能正常发送邮件的问题
- 高级搜索翻页之后,搜索不在本页的数据,搜索不到