>  기사  >  Java  >  자바 예외 처리란 무엇인가

자바 예외 처리란 무엇인가

angryTom
angryTom원래의
2019-11-12 09:19:583620검색

자바 예외 처리란 무엇인가

Java 예외 처리란

1. Exception

프로그래머가 예상한 대로 프로그램이 정상적으로 실행되지 못하게 하는 예상치 못한 현상입니다. . 예외가 발생하면 프로그램이 스스로 보호하도록 놔두고 즉시 종료하고 종료해야 합니까, 아니면 사용자에게 오류를 출력해야 합니까? 아니면 C 스타일에서: 함수 반환 값을 실행 상태로 사용하시겠습니까? . (추천 튜토리얼: java 튜토리얼)

2. 예외 처리 메커니즘

Java가 더 나은 솔루션을 제공합니다:

예외 처리 메커니즘.

예외 처리 메커니즘을 사용하면 예외가 발생할 때 프로그램이 코드의 미리 설정된 예외 처리 논리에 따라 대상 방식으로 예외를 처리할 수 있습니다. 코드가 명확합니다.

Java에서 예외는 함수 내의 명령문이 실행될 때 발생할 수도 있고, 프로그래머가 throw 문을 통해 수동으로 발생시킬 수도 있습니다. Java 프로그램에서 예외가 발생하는 한 해당 유형의 예외 객체가 사용됩니다. . 예외를 캡슐화함으로써 JRE는 예외를 처리할 예외 처리기를 찾으려고 시도합니다.

Throwable 클래스는 Java 예외 유형의 최상위 상위 클래스입니다. 객체가 Throwable 클래스의 (직접 또는 간접) 인스턴스인 경우에만 예외 객체이며 예외 처리 메커니즘에서 인식될 수 있습니다. JDK에는 일반적으로 사용되는 몇 가지 예외 클래스가 내장되어 있으며 예외를 사용자 정의할 수도 있습니다.

3. 예외 처리:

예외 처리는 수동적 처리(스스로 처리할 수 없으면 호출된 곳에 던지면 예외가 해결되지 않고 그냥 발생함)로 구분됩니다. (예외 잡기, 예외 잡기는 try-catch 문이나 try-catch-finally 문을 통해 이루어집니다.)

a) 부정 처리:

문법:

public void m1() throws 异常类名1,异常类名2{}

특징: 책임 회피와 동일하며 최종 문제는 여전히 수행할 수 없습니다. 해결될 것입니다.

컴파일이 통과되도록 허용합니다.

발생한 예외가 런타임이 아닌(확인된) 예외인 경우 이 메서드를 호출하는 호출자가 이를 처리해야 합니다.

발생한 예외가 런타임(확인되지 ​​않은) 예외인 경우 처리할 수 있거나 처리되지 않을 수 있습니다.

b) 활성 처리: (예외 포착)

예외를 직접 포착하여 처리

구문: ​​

try{
  //异常代码
}catch(异常类名 引用名){  
//当异常产生执行的代码
}

try 이후의 포착 코드 블록은

catch 이후에 선언된 예외 하나를 상위 클래스로 성공적으로 일치시킬 수 있습니다. 잡을 수 있는 예외는 그 자체 + 모든 하위 클래스 예외입니다(다형성의 구현)

참고: catch 코드 블록이 예외를 캡처할 때 하위 클래스 예외는 상위 클래스 예외 앞에 정의되어야 합니다. 그렇지 않으면 최종적으로 컴파일 오류가 발생합니다

코드 블록: 이 코드 블록의 코드는 확실히 실행되며 종종 리소스를 닫는 데 사용됩니다.

try{
}catch(){
}finally{
//无论是否产生异常,一定会去执行的代码
}

참고: finally 코드 블록에서 반환 문을 정의하지 마세요

4. 키워드: throws, throw, try, catch, 드디어 각각은 무슨 뜻인가요?

throw는 예외를 발생시키는 것입니다.

throw는 예외를 발생시키는 것입니다.

try는 예외가 발생한 명령문을 포함하므로 예외를 처리하기 위해 try 블록에서 새로운 예외를 발생시킬 수도 있습니다.

catch는 다음과 같습니다. 예외가 발생하면 해당 문이 실행됩니다

마지막으로 예외 여부와 관계없이 해당 문이 실행됩니다

위 내용은 자바 예외 처리란 무엇인가의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.