-
2021-03-14 03:13:39
try就像一个网,把try{}里面的代码所抛出的异常都网住,然后把异常交给catch{}里面的代码去处理。最后执行finally之中的代码。无论try中代码有没有异常,也无论catch是否将异常捕获到,finally中的代码都一定会被执行。
虽然 Java 执行时期系统所提供的预设处理器对除错很有用,你通常想要自己处理例外。这样做有两个优点:第一,它让你修正错误。第二,它可以避免程式自动终止。每当错误发生时,如果你的程式就停止而且列印出堆叠追踪,大多数的使用者都会感到很困惑。很幸运,你很容易就能避免这种情形。
要防备并且处理执行时期错误,只要将你要监视的程式码放在 try 区块里即可。在 try 区块之后紧接著在 catch 子句里指定你希望捕捉的例外型态
错误捕捉例子:
try
{
code; //将自己的代码放在其中;
} catch(e) //如果上面的代码有错误,这里就捕获
{
alert(e.number); //获得错误信息
}
例如:
import java.io.*;//调用io包
public class SimpleCharInOut
{
public static void main(String args[])
{
char ch=' ';//定义个字符ch初始为‘’
System.out.println(" Enter a character please");//在屏幕上输出E nter a character please
try {//你要监视的程式码放在 try 区块里即可。在 try 区块之后紧接
更多相关内容 -
Java中try、catch的使用方法
2021-03-09 06:45:34try-catch在Javatry-catch语句的语法格式:try{//代码块}catch(Exception1 e){//抛出异常后所要进行的操作}当try语句当中捕获到异常时,会将异常抛出到catch语句中匹配异常类型,当异常和catch后面的异常类型相匹配...Java中有两种处理异常的方式,分别是用throws抛出异常、用try、catch捕获异常。
try-catch
在Java
try-catch语句的语法格式:
try{
//代码块
}catch(Exception1 e){
//抛出异常后所要进行的操作
}
当try语句当中捕获到异常时,会将异常抛出到catch语句中匹配异常类型,当异常和catch后面的异常类型相匹配时,则catch语句将会执行。
举个最基础的例子,除数不能为0
try中的异常与catch后面的异常类型匹配的情况:
try{
int i = 1/0;//发生异常立即跳往catch语句中执行,不执行异常代码下面的代码
System.out.println("输出结果为:" + i);
}catch(ArithmeticException e){
e.printStackTrace();
System.out.println("编译报错,除数不能为0");
}
输出结果:
try中抛出的异常与catch后面的异常类型不匹配的情况:
try{
int i = 1/0;//发生异常立即跳往catch语句中执行,不执行异常代码下面的代码
System.out.println("输出结果为:" + i);
}catch(NullPointerException e){
e.printStackTrace();
System.out.println("编译报错,除数不能为0");
//因为异常类型不匹配所以该catch语句并未执行
}
输出结果:
一个try语句可以接多个catch语句
当有多个catch语句时,try部分的语句如果发生异常,就会在依次在各个catch语句中试图匹配异常类型。
try{
int i = 1/0;//发生异常立即跳往catch语句中执行,不执行异常代码下面的代码
System.out.println("输出结果为:" + i);
}catch(ArithmeticException e){
e.printStackTrace();
System.out.println("运算条件异常");
//try语句捕获的异常与该catch语句后的异常相匹配,所以执行该catch语句
}catch(NullPointerException e){
e.printStackTrace();
System.out.println("空指针异常");
//try语句捕获的异常与该catch语句后的异常不匹配,所以不执行该catch语句
}
JDK1.7之后还有一种不常用的写法:
try{
int i = 1/0;//发生异常立即跳往catch语句中执行,不执行异常代码下面的代码
System.out.println("输出结果为:" + i);
}catch (NullPointerException | ArithmeticException e) {
e.printStackTrace();
if (e instanceof NullPointerException)
System.out.println("空指针异常");
if (e instanceof ArithmeticException)
System.out.println("运算条件异常");
}
这种写法需要通过instanceof 进行判断具体的异常类型。
两种写法的输出都是一样的:
-
我们可以在Java中定义带有多个catch块的try块吗?
2021-03-22 14:07:03是的,我们可以在Java中定义一个try块和多个catch块。每次尝试都应该并且必须至少与一个捕获块相关联。每当在try块中识别到异常对象时,并且如果存在多个catch块,则将根据已定义catch块的顺序为catch块指定优先级。...是的,我们可以在Java中定义一个try块和多个catch块。每次尝试都应该并且必须至少与一个捕获块相关联。
每当在try块中识别到异常对象时,并且如果存在多个catch块,则将根据已定义catch块的顺序为catch块指定优先级。
始终将最高优先级赋予第一个捕获块。如果第一个catch块无法处理所标识的异常对象,则它将考虑下一个catch块。
示例class TryWithMultipleCatch {
public static void main(String args[]) {
try{
int a[]=new int[5];
a[3]=10/0;
System.out.println("First print statement in try block");
} catch(ArithmeticException e) {
System.out.println("Warning: ArithmeticException");
} catch(ArrayIndexOutOfBoundsException e) {
System.out.println("Warning: ArrayIndexOutOfBoundsException");
} catch(Exception e) {
System.out.println("Warning: Some Other exception");
}
System.out.println("Out of try-catch block");
}
}
输出结果Warning: ArithmeticException
Out of try-catch block
-
Java中try与catch的使用
2020-05-21 11:01:56try…catch语法: try{ //代码区 }catch(Exception e){ //异常处理 } 用途:当try里代码区出现报错异常时(try里必须有代码),执行catch里的异常处理。 如果try里没有代码,或者没有try,出现异常会导致...try…catch语法:
try{ //代码区 }catch(Exception e){ //异常处理 }
用途:当try里代码区出现报错异常时(try里必须有代码),执行catch里的异常处理。
如果try里没有代码,或者没有try,出现异常会导致程序崩溃。该语法,一般用于字符串处理,可以处理格式错误所导致的异常和报错。
例如:
try { if (str.equals("")) { // empty string System.out.println("WRONG FORMAT!"); } else { mCallback.onComplete(result); //mCallback为自己定义的对象 } } catch (Exception e) { System.out.println("WRONG FORMAT!"); }
还有常有的除以“0”出现的错误,数组越界等,try…catch捕捉了try代码里的异常;当你没有try…catch的时候,如果出现异常则程序报错,
加上try…catch,出现异常程序正常运行,只是把错误信息存储到Exception里,然后执行catch里的代码。所以catch是用来提取异常信息的,
你可以在catch部分加上一句System.out.println(e.ToString());,如果出现异常可以把异常打印出来。补充:除了这个关键字,Java里还有finally语句,Throw、Throws语句,可以用来做抛出更多例外的错误信息。
-
Java中try catch语句的用法
2019-10-16 16:06:26在 Java 中通常采用 try catch 语句来捕获异常并处理。语法格式如下: try { 逻辑代码块1; } catch(ExceptionType e) { 处理代码块1; } 在以上语法中,把可能引发异常的语句封装在 try 语句块中,用以捕获可能发生... -
Java中多个异常的捕获顺序(多个catch)
2021-02-12 21:05:14Java代码importjava.io.IOException;publicclassExceptionTryCatchTest{publicvoiddoSomething()throwsIOException{System.out.println("dosomthing");}publicstaticvoidmain(String[]args){ExceptionTry... -
浅谈Java中try catch 的用法
2018-11-10 15:37:21的Java提供了一个“捕获”异常的的处理器(处理器)对异常情况进行处理。 如果没有提供处理器机制,程序就会终止,并在控制台上打印一条信息,给出异常的类型.L 比如:使用了NULL引用或者是数组越界等。 异常有两... -
Java中如何使用try…catch处理异常
2022-03-25 15:00:33try..catch块主要用于处理异常, 一般会将可能出现问题的代码写在try块中,以处理程序中出现的程序错误,如果一个异常发生在try块中,如果异常需要被相应的程序处理,那么就使用catch块来捕获异常,并在catch块中填写... -
Java中是否可能只有一个catch块有多个try块?
2021-03-09 08:13:08例外是程序执行期间发生的问题(运行时错误)。发生异常时,程序会突然...示例importjava.util.Scanner;publicclassExceptionExample{publicstaticvoidmain(Stringargs[]){Scannersc=newScanner(System.in);System.ou... -
Java中try、catch的使用
2020-06-22 17:56:17Java中有两种处理异常的方式,分别是用throws抛出异常、用try、catch捕获异常。 try-catch 在Java try-catch语句的语法格式: try{ //代码块 }catch(Exception1 e){ //抛出异常后所要进行的操作 } -
java中try 与catch的使用
2017-10-08 21:38:43try{ //代码区 }catch(Exception e){ //异常处理 } 代码区如果有错误,就会返回所写异常的处理。 首先要清楚,如果没有try的话,出现异常会导致程序崩溃。 而try则可以保证程序的正常运行下去,比如说: try{ int... -
Java中try-catch-finally用法
2020-08-03 11:51:50Java提供了一个“捕获”的处理器,为什么要提供一个“捕获”的处理器呢 如果程序出错时,你终止程序?比起抛出异常,让人们自己寻找其中的问题要好? 比如: package Lesson; import java.io.*; import java.net.*;... -
Java使用try--catch同时捕获多个异常,一起处理
2021-03-30 08:53:39实际开发中,有一个场景对两种异常做同样的处理,如果分开捕获的话,他们的代码处理逻辑是一样的,显得代码有点冗余,下面方法可以同时捕获多个异常,放在一起做处理: try { //捕获内容 } catch ... -
Java中try()catch{}的使用方法
2020-09-10 10:36:13在看Zookeeper源码的时候,偶尔看到的一个关于try()…catch()的用法,通常我们使用try…catch()捕获异常的,如果遇到类似IO流的处理,要在finally部分关闭IO流,当然这个是JDK1.7之前的写法了;在JDK7优化后的try-... -
多个嵌套的try…catch…finally
2021-03-09 08:59:56请先阅读 EmbedeFinally.java示例,再运行它,观察其输出并进行总结源代码:publicclassEmbededFinally{publicstaticvoidmain(Stringargs[]){intresult;try{System.out.println("inLevel1");try{System.out.println... -
java中try和catch的具体作用
2021-02-25 19:11:14展开全部try就像一32313133353236313431303231363533e4b893e5b19e31333433643034个网,把try{}里面的代码所抛出的异常都网住,然后把异常交给catch{}里面的代码去处理,最后执行finally之中的代码。无论try中代码有... -
Java中try()catch{}的使用方法:自动资源释放
2020-07-30 09:15:32try( Connection conn=DriverManager.getConnection(url,user,pass); Statement stmt=conn.createStatement() ) { boolean hasResultSet=stmt.execute(sql); } 和平常见的不一样,我们平常见的是这样... -
Java的try...catch的用法和作用(为什么要用try...catch)
2018-07-23 19:09:51当程序运行过程中发生错误时,就会“ 抛出异常',抛出异常比终止程序要灵活得多,这是因为可以提供一个“ 捕获” 异常的处理器 (handler) 对异常情况进行处理。 如果没有提供处理器,程序就会终止,并在控制台上... -
Java 中 try-catch,throw和throws的使用
2019-09-21 14:29:19Java 中的异常有很多,这种异常机制,可以帮助处理程序中未知的错误。关于异常的处理有try catch 程序块、throw 、throws。 以下分别对这三种进行介绍。 一、try...catch try-catch用来捕获代码段的异常并做出... -
Java中try()catch{}的使用方法用法
2020-08-24 22:53:35在看Zookeeper源码的时候,偶尔看到的一个关于try()...catch()的用法,通常我们使用try...catch()捕获异常的,如果遇到类似IO流的处理,要在finally部分关闭IO流,当然这个是JDK1.7之前的写法了;在JDK7优化后的try-... -
【JavaSE】 try-catch 异常处理
2022-03-11 17:36:20可以根据需要在程序中有多个try…catch块。 基本语法 try { //可疑代码 //将异常生成对应的异常对象,传递给catch块 }catch(异常){ //对异常的处理 } //如果没有finally,语法是可以通过 9.2 try-catch 方式处理... -
Java中try..catch..finally语句的使用
2020-07-16 17:27:35一个try,可以有多个catch,但只能有一个finally,且顺序固定为:try…catch(可以多个)…finally。 一个try只跟一个finally也是允许的,可以没有catch。 一个try,一个catch。 一个try,多个catch。 一个try,(任意... -
Java中try{}catch的隐藏(如何优雅的实现异常块)
2020-07-30 15:05:45//same to Object.equals } 如果函数式接口中额外定义多个抽象方法,那么这些抽象方法签名必须和Object的public方法一样,接口最终有确定的类实现, 而类的最终父类是Object。 因此函数式接口可以定义Object的public... -
Java异常处理机制try catch流程详解
2021-03-21 09:07:44在项目中遇到try...catch...... 语句捕获并处理异常,catch 语句可以有多个,用来匹配多个不同类型的异常。对于处理不了的异常或者要转型的异常,在方法的声明处通过 throws 声明异常,通过throw... -
java try(){}catch(){}自动释放资源及用法
2021-03-09 07:07:42java语言中try(){}catch(){}的用法介绍。介绍了通常的try…catch的用法以及try-with-resources 的用法。1、try{} catch(){}的用法通常try/catch模块的用法是:try{// statement here}catch(Exception e){// deal ... -
Java异常处理只有Try-Catch吗?
2021-02-26 15:11:48Java 中最常见的异常处理机制通常与 try-catch 块关联 。我们使用它来捕获异常,然后提供在发生异常的情况下可以执行的逻辑。的确,你不需要将所有异常都放在这些块中。另一方面,如果你正在研究应用程序的软件设计... -
Java编程语言中 try 和 catch 的使用
2019-03-01 10:27:01try{ //代码区 }catch(Exception e){ //异常处理 } 代码区如果有错误,就会返回所写异常的处理。 首先要清楚,如果没有try的话,出现异常会导致...一个计算的话,如果除数为0,则会报错,如果没有try的话,程序直接...