자바 이상 체인과 이상 분실에 대해 간단히 말하다

1. 자바의 구조 방법에 이상 체인을 제공...즉, 우리는 구조 방법을 통해 끊임없이 이상을 하나의 이상 체인으로 연결할 수 있다.  
코드의 이해성, 읽기와 프로그램의 유지보수성 때문에... 
저희가 이상을 던질 때마다trycatch를 해야 한다는 걸 알고 있는데...그럼 코드가 비대한 건 아니겠지..
만약 우리가 이상을 하나의 이상 연결로 연결할 수 있다면, 우리는 우리의 포장 이상만 포착할 수 있다. 우리는 Runtime Exception과 그 파생류가trycatch를 하지 않고 jvm에 의해 자동으로 포착되고 처리될 수 있다는 것을 알고 있다.
물론 우리는 자신의 이상 클래스가 Runtime Exception에서 파생된 것을 스스로 정의하고 1급 1급 포장을 통해 이상이 발생하면 JWM이 사용자 정의 Runtime Exception을 통해cause를 직접 출력할 수 있다
(원인) 바로 우리의 이상 체인..그래서 우리의 모든 이상도 출력되었고, 이렇게 하면 많은 이상 처리 코드를 감소시켰다...
Throwable ---> Exception Runtime Exception Error만이 구조 방법으로 이상 체인을 실현하는 메커니즘을 제공합니다...다른 이상은 initCause를 통해
구조 이상 연결..
다음 코드는 이상 연결의 간단한 예시입니다.전체 프로그램 과정에서 발생한 이상을 인쇄할 수 있습니다.

public class TestT {
 public static void a() throws Exception{  // 
 try {
  b() ;
 } catch (Exception e) {
  throw new Exception(e) ;
 }
 }
 public static void b()  throws Exception{ // 
 try {
  c() ;
 } catch (Exception e) {
  throw new Exception(e);
 }
 }
 public static void c() throws Exception { // 
 try {
  throw new NullPointerException("c  ..") ;
 } catch (NullPointerException e) {
  throw new Exception(e) ;
 }
 } 
 public static void main(String[]args){ 
 try {
  a() ;
 } catch (Exception e) {
  e.printStackTrace();
 }
 
 }
}
2、 try catch ...finally에 구멍이 하나 있는데 이상한 결함이...예를 들어 try catch 세 개가 끼워져 있는데...내부에 try catch 2개면 catch를 생략할 수 있는데...그냥 try finally...
아래 코드를 보시면 두 개의 이상 정보를 잃어버렸습니다.

public class MyTest {
 public void open() throws Exception{
 throw new Exception(){
  public String toString() {
  return this.getClass().getName()+"CeryImmportException";
  };
 } ; 
 }
 public void close() throws Exception{

 throw new Exception(){
  public String toString() {
  
  return this.getClass().getName()+"close Exception" ;
  };
 } ;
 }
 public void three() throws Exception{
    throw new Exception(){
     public String toString() {
      
      return this.getClass().getName() + "three" ;
     };
    } ; 
 }
 public static void main(String[]agrs){  
 MyTest mt=new MyTest() ;
 try{
 try{
 try{
  mt.open();
   }finally
 {
   System.out.println("delete open"); 
   mt.close() ;
 }
 }
 finally{
  System.out.println("delete close");
  mt.three() ;
  
 }
 }catch(Exception ex){
  ex.printStackTrace(); 
 }
 } 
}

이상의 이 평론은 자바 이상 체인과 이상 분실이 여러분께 공유된 모든 내용입니다. 여러분께 참고가 되고 저희를 많이 사랑해 주시기 바랍니다.

좋은 웹페이지 즐겨찾기