try catch
/ * try catch:自己处理异常
- try {
*可能出现异常的代码
*} catch(异常类名A e){
*如果出现了异常类A类型的异常,那么执行该代码
*} …(catch可以有多个) - finally {
*最终肯定必须要执行的代码(例如释放资源的代码)
*}
1:Java中try catch 就是为了异常的抛出来使用
2:try {用来判断这个大括号里面的代码是否有错,有错的话就会执行catch里面的代码}
3:catch{相反来说,try里面要是没错的话就不会执行catch里面的代码}
4:当你没有try…catch的时候,如果出现异常则程序报错,加上try…catch,出现异常程序正常运行,只是把错误信息存储到Exception里,然后执行catch里的代码
*代码执行的顺序:
- 1.try内的代码从出现异常的那一行开始,中断执行
- 2.执行对应的catch块内的代码
- 3.继续执行try catch结构之后的代码
e.printStackTrace
e是Throwable的实例异常对象,用在catch语句中,相当于一个形参,一旦try捕获到了异常,那么就将这个异常信息交给e,由e处理,printStackTrace()是异常类的一个方法。
当try语句中出现异常是时,会执行catch中的语句,java运行时系统会自动将catch括号中的Exception e 初始化,也就是实例化Exception类型的对象。e是此对象引用名称。然后e(引用)会自动调用Exception类中指定的方法,也就出现了e.printStackTrace() ;。
printStackTrace()方法的意思是:在命令行打印异常信息在程序中出错的位置及原因。(这是白话解释,比较容易理解)
public void run() {
try {
connect(mSerIP, mSerPort);
} catch (IOException e) {
e.printStackTrace();
}
}
抛出异常
抛出异常的作用有很多,主要的有:
1、不会让你的程序挂掉,你可以把这个异常catch住,不妨碍程序的运行
2、可以让你很清楚地知道程序出了什么问题,这样在维护起来比较方便
3、程序抛出异常,可以使用try、catch来处理该异常信息,通过catch可以知道程序的问题
4、throws的使用情况:发现有一些异常,try-catch后毫无意义,所以这时候,就需要throws,抛到一个合理的位置,执行合理的处理方法