catch在java
Ⅰ java中try和catch的具体作用
try就像一个网,把try{}里面的代码所抛出的异常都网住,然后把异常交给catch{}里面的代码去处理,最后执行finally之中的代码。
无论try中代码有没有异常,也无论catch是否将异常捕获到,finally中的代码都一定会被执行。
例如:当除数为0时,编译不会报错,如果没有try/catch的话,程序直接崩溃。用try/catch的话,则可以让程序运行下去,并且输出为什么出错。
(1)catch在java扩展阅读
java中try....catch的使用原则
1、当代码中可能会遇到的异常需要用try{ }catch{Exception e}来处理,否则导致程序崩溃。
2、不要在for循环里面嵌套try catch子句。
3、尽可能的减少try catch子句的嵌套,会影响性能。
4、同一个try子句中多个catch时,异常处理原则。
当一个try块中包含众多语句,可能抛出多种不同的异常,只有通过多个catch块来捕获不同的异常。而如果两个异常存在继承关系,应该把子类异常放在父类异常的前面来捕获,或者把最小范围异常放在最前面 ,范围大的放在后面。
因为是按照catch块从上往下匹配,当它匹配某一个catch块的时候,就直接进入到这个catch块里面去了,后面在再有catch块的话,它不做任何处理,直接跳过去,全部忽略掉。
如果有finally的话进入到finally里面继续执行。Exception这个异常的根类一定要刚在最后一个catch里面,如果放在前面或者中间,任何异常都会和Exception匹配的,就会报已捕获到异常的错误。
Ⅱ Java异常处理时如何捕获异常的。catch里面的语句是怎么写的
try{
//代码
代码中通常会出现不知情却在情理中的错误
int
age
=
a.getAge();//如果a对象为空,你却调用它的方法就会报NullPointerException异常
}catch(//异常类型
NullPointerException
ne){//获取你可以预知的异常
//异常处理就是你捕获了这个异常你要这个异常进行哪种操作
//一般的操作就是记录到日志里
//然后抛出去或者返回状态
}catch(Exception
ex){//这个是所有异常的父类
//因为很多异常是不可预知的
//记录到日志里
//然后抛出去或者返回状态
}
Ⅲ java:try{} catch{}是什么意思
这是一个提示出现异常的代码。try{}catch(Exception e){}
try{}里边代指出现异常的代码。catch(Exception e)中的e就是异常各类,如果你能确定那种异常,就可以用那种异常代码代替这个e。
而后边{}就是你处理异常的方法,你可以打出异常,或者是输出提示出错了,很灵活。
有时候还会有一个finally{}在最后,这个是一定会处理的代码,不会因为异常的出现会终止。
(3)catch在java扩展阅读:
try 是JAVA中常用到的关键命令。用于try..catch..finally块,进行异常捕获。
try是try..catch..finally块中用来引导第一部分的关键字,用于声明需要捕获指定语句块的异常。
完整的使用方法是:
try {
语句块1
} catch (<? extends Throwable> e) {
语句块2.1
} catch (<? extends Throwable> e) {
语句块2.2
} catch (<? extends Throwable> e) {
语句块2.3
...
} finally {
语句块3
}
catch可以出现0次、1次或多次,finally可以出现0次或1次,但是catch和finally不能同时不出现。
catch用法:
当语句块1中抛出异常时,立即离开语句块1,之后会在所有catch中依次进行类名比对。如果抛出异常和catch声明的异常类名一致,或抛出异常是catch声明的异常的子类,则会进入该catch的语句块(成为异常的捕获),在catch的语句块中可以将异常输出到命令行或引导用户进行问题反馈。
如果任何一个catch都不匹配,会像上层调用抛出这一异常(在此之前会进入finally语句块,详情参考下面的finally用法)。
finally用法:
在语句块1、语句块2中,任何试图离开try..catch..finally块的语句都会导致语句块3被执行,如return throw break continue。在finally的语句块中可以进行内存回收等工作。
需要注意的是,如果导致离开的不是语句造成的,而是断电、内存不足等计算机故障,finally语句块不会被执行。
例子:
public class Test {
public static void main(String[] args) {
int i = 10;
try {
System.out.println(i / 0);
}catch(ArithmeticException ame) {
ame.printStackTrace();
} finally {
System.out.println("byebye");
}
}
}
Ⅳ java中try 与catch的使用
try{
//代码区
}catch(Exception e){
//异常处理
}
代码区如果有错误,就会返回所写异常的处理。
首先要清楚,如果没有try的话,出现异常会导致程序崩溃。
而try则可以保证程序的正常运行下去,比如说:
try{
int i = 1/0;
}catch(Exception e){
........
}
一个计算的话,如果除数为0,则会报错,如果没有try的话,程序直接崩溃。用try的话,则可以让程序运行下去,并且输出为什么出错。
try catch 是捕捉try部分的异常,当没有trycatch的时候,如果出现异常则程序报错,加上trycatch,出现异常程序正常运行,只是把错误信息存储到Exception里,所以catch是用来提取异常信息的,可以在Catch部分加上一句System.out.println(e.ToString());,如果出现异常可以把异常打印出来。