Java 9에서는 JShell Java 언어 기능과 광범위한 라이브러리를 빠르게 탐색, 발견 및 실험할 수 있는 빠르고 친숙한 환경을 제공합니다.
JShell에서는 예외를 수동으로 잡을 필요가 없습니다. JShell은 각 예외를 자동으로 포착합니다. 이에 대한 정보를 표시한 다음 세션을 계속할 수 있도록 다음 JShell 프롬프트를 표시합니다. 선택하지 않은 에서 작동합니다. 예외 또한. 자동으로 선택된 을 모두 잡음 및 선택 해제 예외가 있는 경우 JShell을 사용하면 확인된 예외를 throw하는 메서드를 쉽게 실험할 수 있습니다.
아래 예에서 ArrayIndexOutOfBoundsException "values[4]" 값 때문에 발생했습니다. 찾을 수 없습니다.
예시-1
jshell> int[] values = {10, 20, 30} values ==> int[3] { 10, 20, 30 } jshell> values[4] | java.lang.ArrayIndexOutOfBoundsException thrown: 4 | at (#7:1)
아래 예에서 FileNotFoundException 디렉토리에서 파일을 찾을 수 없기 때문에 발생했습니다.
예시-2
jshell> FileInputStream fis = new FileInputStream("data.txt") | java.io.FileNotFoundException thrown: data.txt (The system cannot find the file specified) | at FileInputStream.open0 (Native Method) | at FileInputStream.open (FileInputStream.java:196) | at FileInputStream. (FileInputStream.java:139) | at FileInputStream. (FileInputStream.java:94) | at (#5:1)
아래 예에서 ArithmeticException "1/0 값 때문에 (확인되지 않은 예외)가 발생했습니다. "은 정의되지 않음입니다. .
예시-3
jshell> 1/0 | java.lang.ArithmeticException thrown: / by zero | at (#4:1)