Java의 기본(16) 회복: 예외 요약
예외 개요
1. 예외는 일반적인 구문 오류와 동일하지 않습니다. 세미콜론이 누락되었거나 변수 이름이 중복된 경우 이는 구문 오류이므로 컴파일할 수 없습니다.
2. 예외는 프로그램 코드 자체에는 문제가 없지만 런타임 중에 문제가 발생하는 것을 의미합니다. (그러나 참고: 메서드가 throw를 통해 RunTimeException이 아닌 예외를 선언하는 경우 메서드를 호출할 때 예외를 처리해야 합니다. 그렇지 않으면 컴파일이 통과되지 않습니다. 그러나 메서드가 throw를 통해 RunTimeException 예외를 선언하는 경우
3. 이상 현상은 무엇입니까? 4. 빈 catch 블록 자체가 예외를 캡처하고 처리할 수 있지만, 디버깅을 용이하게 하기 위해 일반적으로 예외와 관련된 일부 정보가 catch 블록에 출력됩니다. 문제 b. 프로그램 버그를 더 편리하게 수집하는 방법 소프트웨어 로그
2. 예외 처리 메커니즘
다섯. 키워드는 일반적으로 Java 예외를 처리하는 데 사용됩니다. try catch finally throw throw
2. try{} catch(){} finally{}는 일반적으로 조합하여 사용되며, 이는 중간에 추가가 허용되지 않음을 의미합니다. 다른 코드;
3. 커스텀 예외
3、try{ //把有可能产生异常的代码放到try代码块中监视起来 int[] arr={1,2,3}; System.out.println(arr[3]); // 自动new ArrayIndexOutOfBoundsException()并抛出,这是JVM做的 异常对象就是坏人 } catch(ArrayIndexOutOfBoundsException e){ //e用来存抛出来的异常对象,自动抓 (可以写代码也可以不写) } 4、try-catch的执行流程 A、try中发生了异常:从产生异常的那行代码直接跳到catch中 B、try中没有发生异常:会跳过catch往下执行 C、catch中的类型必须跟产生的异常对象的类型保证一致 注意:如果程序后面没有finally{} 也没有catch(Exception e){} catch中的类型不跟产生的异常对象的类型保持一致,程序会中断 5、多重catch块 A、一行代码又可能产生多种异常?有可能 B、一个catch一般只能捕捉一种异常,那么现在就需要写多个catch块 C、执行流程 D、要保证代码的可读性,因此不建议直接捕捉Exception,建议在最后捕捉Exception E、 jdk7提供了多重catch更简洁的写法,小括号中只能写平级的子类,不能写父类 注意catch中用的是“|”不是“||”。也不能写父类。 6、finally关键字 A、 该关键字要结合{} B、作用:无论前面发生了任何情况,他都能保证里面的代码肯定会被执行 C、一般把释放资源的代码放到finally块中 D、面试题:return 跟 finally 7、throws关键字 A、可以在方法内部进行异常处理 B、方法内部不做异常处理,而是在调用方法时进行异常处理 C、 怎么让调用者在调用方法时知道该处理哪些异常? throws用来把方法内可能产生的异常声明出来,告知调用者该处理哪些异常 D、细节 如果某方法通过throws声明了非RunTimeException的异常,那么在调用方法时必须进行异常处理,否则编译失败
위는 Java의 기본을 다시 익히는 내용입니다(16): 예외 요약 내용에 주목하세요. 더 많은 관련 콘텐츠를 보려면 PHP 중국어 웹사이트(www.php.cn)를 방문하세요!