Try 블록 뒤의 catch 블록은 필수는 아니지만 try 블록 뒤에 catch 블록이 없으면 finally 블록이 있어야 합니다. 즉 try 는 단독으로 사용할 수 없습니다. Try 블록 뒤에는 catch 가 없으며 프레임 디자인에 자주 나타납니다. 이 메서드는 Exception 이 나타날 때 자체적으로 처리하지 않고 Exception 을 특별히 처리하는 특정 위치로 던져져 균일하게 처리됩니다. 이 Exception 은 호출소로, 아직 catch 가 없으면 다시 위로, 프로그램이 계속 처리되지 않으면 Exception 이 결국 JVM 으로 던져지고 JVM 이 오류를 보고합니다. 여기에 있는 코드, Exception 은 main 함수의 try-catch 에서 캡처되고 처리됩니다. 20 행의 catch 는 test 함수의 finally 와 관계없이 다른 try 블록에 속합니다. Test 함수의 try 블록에 예외가 발생하면 finally, finally 블록의 내용이 직접 실행된 후 결과 예외가 호출자, 즉 main 함수에 전달됩니다. Main 함수의 try-catch 에서 캡처되고 처리됩니다. Finallyexception 이 마지막으로 catch 에서 받은 예외가 NullPointerException null 포인터 예외라고 인쇄됩니다. 행 13 Stringx=null;; 객체가 없으면 행 14 x.toString () 에서 NullPointerException 을 생성합니다.