예외 : 일부 예외는 사용자 오류로 인해 발생하고 일부는 프로그램 오류로 인해 발생하며 다른 예외는 물리적 오류로 인해 발생합니다.
예외 처리 키워드 : 시도, 잡기, 마침내 던지기, 던지기
참고 :
비정상적인 분류 :
문법:
{// 들으려면 코드 블록을 시도하십시오} Catch (예외 유형 예외 이름 /E) {// Throw Throw Exception Name /E를 리터텐시키는 오류를 찾는 코드 블록을 처리합니다. // Thorw는 예외 던지기를 의미합니다. 새로운 예외 유형 ( "Custom");} 마지막으로 {// 마침내 블록의 진술은 예외가 발생하는지 여부에 관계없이 실행됩니다.} 수정 자 반환 값 메소드 메소드 이름 ()은 예외 유형을 던지는 예외 유형 {// throws는 예외를 선언하는 데만 사용되며, 방법 호출자 // 코드 블록}에 의해 던질 지 여부는 결정됩니다.코드 예 : (시도하고 잡고 마지막으로)
public class ExceptionTest {public static void main (String [] args) {스캐너 입력 = 새 스캐너 (System.In); {// 코드 블록을 듣습니다 int a = input.nextint (); int b = input.nextInt (); 이중 합계 = a/b; System.out.println (sum); } catch (inputmistAchatchException e) {System.out.println ( "숫자 만 입력"); } catch (arithmeticexception e) {system.out.println ( "분모는 0이 될 수 없음"); } catch (예외 e) {// 예외는 부모 클래스 System.out.println입니다 ( "다른 예외가 발생했습니다"); } 마침내 {// 예외가 발생하는지 여부에 관계없이 System.out.println ( "프로그램 종료"); }}}코드 예제 : (스로우 키워드)
import java.util.inputmismatchexception; import java.util.scanner; public class ExceptionTest {public static void main (String [] args) {스캐너 입력 = 새 스캐너 (System.in); 시도 {// 코드 블록 듣기 int a = input.nextint (); int b = input.nextInt (); 이중 합계 = a/b; System.out.println (sum); } catch (inputmismatchexception e) {// catch (예외 유형의 예외 이름) system.out.println ( "숫자 만 입력"); e 던지기; // catch에 의해 잡힌 예외를 맨 위에 맨 위 // 새로운 inputmistatchexception (); 위의} catch (arithmeticexception e) {system.out.println ( "분모는 0"); 새로운 arithmeticexception을 던지십시오 ( "분모는 0은 예외를 던집니다"); // ArithMeticexception 예외} Catch (예외 e) {// 예외는 모든 예외 시스템의 상위 클래스입니다. } 마침내 {// 예외가 있는지 여부에 관계없이 System.out.println ( "프로그램 종료"); }}}코드 예 : (던지기)
공개 클래스 던지기 {int a = 1; int b = 0; public void out ()는 arithmeticexception {// 던져 질 수있는 예외를 선언하면 쉼표로 여러 가지 예외가있을 수 있습니다 {// Supert Code Block int sum = a/b; System.out.println (sum); {system.out.out.out.out. 0 ");} 마침내 {// 예외가 발생하든 마지막으로 System.out.println ("프로그램 종료 ");}} 공개 정적 무효 메인 (String [] args) {THROWS t = new Wrows (); T.out (); // 메소드를 호출하여 새로운 arithmeticexception을 던집니다 ( "분모는 0이고 예외를 던졌습니다"); // 호출 된 메소드가 예외를 던질 지 여부를 결정합니까/** 두 번째 던지기 메소드* /// Arithmeticexception a = new ArithmeticeXception ( "분모는 0이고 예외를 던졌습니다"); // 던지기 a;}}