精华内容
下载资源
问答
  • try-catch-finally 中哪个部分可以省略? catch 和 finally 语句块可以省略其中一个。 package constxiong.interview; public class TestOmitTryCatchFinally { public static void main(String[] args) { ...

    try-catch-finally 中哪个部分可以省略?

    catch 和 finally 语句块可以省略其中一个。

    package constxiong.interview;
    
    public class TestOmitTryCatchFinally {
    
    	public static void main(String[] args) {
    		omitFinally();
    		omitCatch();
    	}
    	
    	/**
    	 * 省略finally 语句块
    	 */
    	public static void omitFinally() {
    		try {
    			int i = 0;
    			i += 1;
    			System.out.println(i);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    	
    	/**
    	 * 省略 catch 语句块
    	 */
    	public static void omitCatch() {
    		int i = 0;
    		try {
    			i += 1;
    		} finally {
    			i = 10;
    		}
    		System.out.println(i);
    	}
    }
    

     


    【Java面试题与答案】整理推荐

     

    展开全文
  • Java运行时异常try-catch块能捕捉到吗

    千次阅读 多人点赞 2020-12-31 14:59:23
    运行时异常一层层往上抛出,try-catch能接住吗?本文带你一探究竟

    还记得2年前见过这个问题,当时没太在意,这次写demo复现了这个问题。Java运行时异常能捕捉吗?

    背景:比如文件上传后的删除操作deleteid不存在抛出运行时异常。 删除方法是public void delete(),因为MVC中的Model层没有声明异常,service中的delete调用dao中的deletedao中的delete去调用xml或者数据库delete操作。现在前端需要接收到删除成功和失败的提示,后端删除失败是会有运行时异常的,最后需要给前端返回类似{return:"ok"}或者{return:"你的异常信息"}

    方法大概两种,第一就是删除数据失败直接返回boolean类型值,方法改为public boolean delete(),第二种就是把运行时异常一层层上抛到Controller进行try-catch处理,在catch块中返回错误的json数据{return:"你的异常信息"}


    思考的问题来了,运行时异常一层层往上抛出,try-catch能接住吗?如果接不住你就没法处理失败信息传给前端了。那咱们就来试一试。

    public class HelloWorld{
    
    	public static void test() {
    		try {
    			throw new RuntimeException("test RuntimeException123");
    		} catch (RuntimeException e) {
    			System.out.println("里面");
    			throw new RuntimeException(e.getMessage());
    		} catch (Exception f) {
    			System.out.println("ff");
    		}
    	}
    	public static void test2() {
    		System.out.println("执行到test2");
    		test();
    		System.out.println("test()抛异常后面还会执行吗?");
    	}
    	public static void main(String[] args) {
    		try {
    			test2();
    		} catch(Exception e) {
    			e.printStackTrace();
    			System.out.println("外面");
    		}
    	}
    }
    

    java运行时异常能捕捉吗
    结果我们发现,test()中,运行时异常被try-catch接住了,然后继续往上抛,在test2()中没有try-catch块,结果在main方法还是能接住。


    得出结论:
      运行时异常不需要throws声明,即使是方法层层调用,也能抛出到最上层后再用try-catch捕捉。所以,运行时异常可以捕捉,但是没必要捕捉,除非功能特殊需要。

      说到这里,我得再提示一下,像这种运行时异常RuntimeException是非受检查异常,编译器不能提前预测。在SpringBoot中自定义异常进行统一异常处理时,如果你的自定义异常是extends Exception,那么你每次throw抛出异常编译器都会提示要try-catch或者throws声明,特别麻烦,如果我们只是需要最终只是在统一异常处理类里面进行处理,返回给前端统一的json异常信息,那么完全可以将自定义异常extends RuntimeException,这样每次throw new "自定义异常"就不用try-catch或者throws声明了,因为RuntimeException是可以捕捉且编译器不提前预测的,这样就不会抛出异常时爆红了。


    欢迎一键三连~

    有问题请留言,大家一起探讨学习

    ----------------------Talk is cheap, show me the code-----------------------
    展开全文
  • try catch的作用

    万次阅读 多人点赞 2018-03-29 11:25:16
    try catch的作用:当程序发生错误时,能够保证程序继续执行下去。用一个简单例子说明:1:无try catchpublic static void main(String[] args) { int i; i = 2/0; System.out.println(i); System.out.println...

    try catch的作用:当程序发生错误时,能够保证程序继续执行下去。

    用一个简单例子说明:

    1:无try catch

    public static void main(String[] args) {
    int i;
    i = 2/0;
    System.out.println(i);
    System.out.println(1111111111);

    }

    运行结果:不会输出111111111


    2:有try catch

    public static void main(String[] args) {
    int i;
    try {
    i = 1/0;
    System.out.println(i);
    } catch (Exception e) {
    e.printStackTrace();
    }
    System.out.println(1111111111);
    }

    运行结果:会输出1111111



    展开全文
  • Try catch如何使用

    千次阅读 2019-05-16 18:43:36
    try catch适用场合: 一、兼容性 浏览器的兼容性是程序员很头痛的事儿,往往一些出错会让我们查找许久,在使用try catch能更好的解决兼容性出错的问题:由于不同浏览器报错提示也不尽相同,通过使用try catch捕获的...
    try catch适用场合:
    一、兼容性

    浏览器的兼容性是程序员很头痛的事儿,往往一些出错会让我们查找许久,在使用try catch能更好的解决兼容性出错的问题:由于不同浏览器报错提示也不尽相同,通过使用try catch捕获的浏览器的报错提示,来判断用户使用的浏览器,然后做出对应的解决方法;那么,你如果用if,就只能反馈真或假,而不能直接抛出浏览器的报错内容。

    二、防止阻塞

    try catch用于捕捉报错,不关心哪一步错误,只关心有没有错。
    例如:
    1.下面的try里面没有申明 window.a.b;但不会影响执行,会继续往下执行,最后抛出错误;

    try {
       window.a.b !== 1
    }
    catch(err){
         alert(err) // 可执行
         alert('执行弹框') // 可执行
    }
    

    2.做对比,如果用的if语句,则会阻塞执行

    if (window.a.b !== 1) {
    	alert("if语句判断报错,不会执行") // 不执行
    }
    alert('不会执行弹框'); // 不执行
    
    try catch 灵活使用:

    1、一条路不通,就换条路

    try {
     	执行程序逻辑
    } 
    catch (e) {
    	出现问题,换个逻辑执行
    }
    

    2、给用户更好的体验感

    try {
    	正常流程
    } 
    catch (e) {
    	弹个框告诉用户不好意思出了点问题
    	如果是用户的错就告诉用户什么地方错了
    	如果是程序的错,就告诉用户不好意思没法执行
    }
    

    如果你能很好的运用try catch ,势必会让你的程序运行的更流畅,处理问题更加方便!
    分享是一种快乐!

    展开全文
  • try catch里面try catch嵌套

    万次阅读 2018-05-18 13:26:54
    try catch里面try catch嵌套
  • C++ try……catch catch(CException *e) 打印异常信息 不经意间的内存泄露:try-catch(CException *e) [异常对象需要手动释放] C++ try catch 捕获空指针异常,数组越界异常 C++ try catch 异常类 异常类大全 C...
  • 比如Dao层有一条 insert 语句, 在该层已经try,catch了,现在我故意将sql写错, 在Service层 try,catch时,走到try就打印出异常了,然后不会进catch,现在我想 让程序进Service层的catch该如何处理? Service层的代码 ...
  • OOm是否可以try catch

    千次阅读 2019-06-08 21:06:43
    try语句中声明了很大的对象,导致OOM,并且可以确认OOM是由try语句中的对象声明导致的,那么在catch语句中,可以释放掉这些对象,解决OOM的问题,继续执行剩余语句。 但是这通常不是合适的做法。 Java中管理内存...
  • try finally没有catch的用法

    千次阅读 2016-12-12 12:01:15
    因为捕获异常是必须要有的,而捕获到异常之后,如果不做处理,那就不用catch,如果需要对捕获到异常之后做处理才需要catch,finally也是一样,可以不用写,也可以加上。执行流程是先执行try块,出现异常后执行...
  • C++中try/catch/throw的使用

    万次阅读 多人点赞 2017-03-25 19:12:46
    C++异常处理涉及到三个关键字:trycatch、throw。 在C++语言中,异常处理包括: (1)、throw表达式:异常检测部分使用throw表达式来表示它遇到了无法处理的问题,throw引发了异常。throw表达...
  • try catch finally 用法

    千次阅读 多人点赞 2018-10-13 19:34:59
    否则不会执行catch里面的内容 } catch { //除非try里面执行代码发生了异常,否则这里的代码不会执行 } finally { //不管什么情况都会执行,包括try catch 里面用了return ,可以理解为只要执行了try或者catch,就...
  • java try没有catch

    千次阅读 2018-06-13 10:44:05
    JDK并发工具包中,很多异常处理都使用了如下的结构,如AbstractExecutorService,即只有try和finally没有catch。 [java] view plain copy print?class X   { &...
  • try catch 语句

    千次阅读 2019-05-22 15:25:00
    try代码块抛出错误(上例用的是throw语句),JavaScript 引擎就...如果你不确定某些代码是否会报错,就可以把它们放在trycatch代码块之中,便于进一步对错误进行处理。 function isErr() { try { throw new Err...
  • try -catch-catch异常的执行顺序

    千次阅读 2018-10-11 23:13:18
    大家都知道try-catch是捕获异常的,我自己也是这么明白,却不知道多个catch是怎么操作。 就决定自己试验一下 public class Try { public static void main(String[] args) { int[] arr = new int[5]; ...
  • Golang try catch与错误处理

    万次阅读 2019-06-12 23:38:20
    Golang try catch 虽然在使用Golang的时候发现没有try catch这种错误处理机制但是想一想golang作为一门优雅的语言,似乎也是情理之中。因为在java中 throws在函数签名中有一个关键字,旨在使异常流程比较简洁,但是...
  • 更为严格的说法其实是: try只适合处理运行时异常,try+catch适合处理运行时...而运行时异常在编译时没有如此规定,所以catch可以省略,你加上catch编译器也觉得无可厚非。 理论上,编译器看任何代码都不顺眼,都...
  • try-catch 能抛出 promise 的异常吗

    千次阅读 2020-07-12 11:51:56
    try-catch 能抛出 promise 的异常吗? try { throw new Error('1') } catch(error) { console.log(error) } 这是最常见的 try-catch,会 log 下面的内容: 注意,这里并不是红色的,因为 js 异常被捕获后,js 是...
  • Java 中 try-catch,throw和throws的使用

    千次阅读 多人点赞 2019-09-21 14:29:19
    关于异常的处理有try catch 程序块、throw 、throws。 以下分别对这三种进行介绍。 一、try...catch try-catch用来捕获代码段的异常并做出处理 try-catch代码块分两块,第一块是try{} ,第二块是catch(exception...
  • kotlin try catch使用方法

    千次阅读 2020-05-22 14:38:17
    5 kotlin之 try catch kotlin的try catch比Java更简洁面料采用,使用更方便 val value = "10a" var out: Int? = null //错误处理 try { out = Integer.parseInt(value) } catch (e: NumberFormatException) {...
  • trycatch的用法

    千次阅读 多人点赞 2020-04-30 16:12:45
    try catch 错误处理; 执行规则:首先执行try中的代码 如果抛出异常会由catch去捕获并执行 如果没有发生异常 catch去捕获会被忽略掉 但是不管有没有异常最后都会执行。 try 语句使你能够测试代码块中的错误。 catch ...
  • try catch嵌套执行顺序测试

    千次阅读 2019-09-26 13:26:30
    分享一段测试try catch 执行顺序和那些代码后续执行,那么不执行的代码: @Test public void testTryCatch(){ try { System.out.println(" 外层 try !" ); //Integer.parseInt(null); try { ...
  • try/catch 的解释与用法

    万次阅读 多人点赞 2018-08-03 19:45:20
    catch 可以有多个,当所有的 catch 都不满足时,再执行 finally 里的代码。 多重捕获块 一个 try 代码块后面跟随多个catch代码块的情况就叫多重捕获。 如果 try 代码块中发生异常,异常被抛给第一...
  • IDEAl中try-catch的快捷键

    千次阅读 热门讨论 2020-10-19 20:41:52
    try-catch的快捷键是Ctrl+Alt+T 我想要将下图中代码用try-catch包裹 下面是详细步骤: 第一步:选中你想要进行try-catch的代码 第二步使用快捷键Ctrl+Alt+T 选择try-catch选项 选择之后,目标段就被try-catch包裹...
  • Python Try Catch异常教程

    千次阅读 2020-10-10 10:55:48
    LEARN MORE Linux "Command Not Found" Error And Solution 了解更多Linux“找不到命令”错误和解决方案 使用try和Except捕获异常(Catch An Exception with Try and Except) Now we want to prevent this type of...
  • 事务 与 try/catch的关系

    千次阅读 2019-05-09 20:10:36
    在我们使用@Transactional事务的注解的时候,如果用到try/catch,不可避免的会出现下面的这两种情况: try{ gameMapper.insertGame(game); int a = 6/0; gameMapper.findGameById(gameId); }catch(Excetion e){...
  • try-catch语句

    万次阅读 2019-08-17 01:15:40
    try-catch 语句,作为 JavaScript 中处理异常的一种标准方式。基本的语法如下所示: try{ // 可能会导致错误的代码 } catch(error){ // 在错误发生时怎么处理 } 如果 try 块中的任何代码发生了错误,就会立即...
  • python try catch

    千次阅读 2020-07-22 10:16:31
    try : print(1 / 0) except Exception as e : print(e) finally : print('最后执行')
  • try catch影响Spring事务吗?

    千次阅读 2018-11-20 20:48:12
    对于这个问题有两种情况: ...try { 数据库做添加订单表; int a=5/0; 数据库减少库存; }catch (Exception e){ e.printStackTrace(); }  此方法会影响事务,此时数据库中订单数据会插入成功!因为...
  • try catch使用

    千次阅读 2020-07-04 14:45:07
    catch(err) { //err异常类名,必须(如果使用 catch)。指定局部变量应用的错误。该变量可以引用 Error 对象 (包含发生的错误信息)。如果异常通过 throw 语句创建 , 该变量引用了为在throw语句中指定的对象 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,481,354
精华内容 992,541
关键字:

try可以不用catch吗