2、程序题,以下代码最后会抛出一个异常,是第几行抛出的:
- try{
- throw new Exception("1");
- }catch (IOException e){
- throw new Exception("2");
- }catch (Exception e) {
- throw new Exception("3");
- }finally {
- throw new Exception("4");
- }
答案:最后一行(finally 始终都会执行)
1.区别 Error(错误 内存错误等 处理方式: 修改程序) Exception(异常) 进行处理
2.关键字 try catch finally
try(有可能会产生异常的代码)catch(处理方式 “可以不处理”) finally(不管try里面会不会产生异常 和 catch 是否处理掉该异常 finally均会继续执行)
catch的参数为可能产生异常的对象
当在catch中抛出 throws Runtime exceotion时 程序终止运行
3 throw(在catch里面) 抛出一个异常对象 并可以带参数 抛出异常信息
4 throw (在方法名后面) 代表抛出一个异常对象,然后由调用者进行处理
5.异常处理jvm的执行过程
1.创建了异常的对象
2.将异常的对象抛出,抛出给调用者(注意,一旦异常抛出,后面的程序将不会继续执行)
3.抛出给main 方法,继续抛出,抛出给main 方法的调用者
4.反馈到jvm 反馈错误信息,打印在控制台并停止程序