java 이상 메커니즘 분석
모두가 알다시피 자바의 이상(Exception) 메커니즘은 매우 중요하다. 프로그램은 오류를 피하기 어렵다. 이상 메커니즘은 프로그램의 오류를 포획하여 프로그램의 안정성과 건장성을 높일 수 있다.
자바의 이상은 Checked Exception (비 Runtime Exception) 과 UnChecked Exception (Runtime Exception) 으로 나뉘며, 모든 이상 클래스는 직접적 또는 간접적으로 Exception을 계승합니다.Exception은 Throwable 클래스에서 직접 계승됩니다. Throwable 클래스의 직접 하위 클래스와 error 클래스가 있습니다. 그러나 error가 발생하면 프로그램이 실행을 종료하고 프로그램이 error를 처리하지 못하기 때문에 여기서 Exception 클래스를 중점적으로 토론합니다.Runtime Exception 클래스는 Exception에서 상속되며, 실행 시 이상은 Runtime Exception 클래스에서 직접 또는 간접적으로 상속됩니다.다른 상속 Exception 클래스의 시비가 실행될 때 예외입니다. 컴파일하는 동안 발견할 수 있습니다.실행할 때 이상은 실행할 때만 나타난다. 예를 들어 산술적으로 0을 제외하면 컴파일하는 동안 통과할 수 있지만, 실행할 때 실행할 때 이상을 던진다. 0을 제외하면 안 된다.
java의 이상 처리는 두 가지가 있습니다.
1. 이상 포착
구조는 다음과 같다.
try
{
//
}
catch(RuntimeException e)
{
//
}
catch(Exception e)//
{
//
}
finally
{
// , , ,
}
try-catch-finally
이상이 캐치에 포착되면 뒤에 캐치 문구가 있으면 실행하지 않지만,finally가 있으면finally 블록 안의 문구를 실행합니다.2. 이상 투척 선언
호출할 때 이상이 발생하는 방법이 있는 방법 설명서에서throws Exception을 설명합니다. 이 방법은 이 종류의 이상을 처리하지 않고 이 방법의 호출자가 처리합니다.
3. 인위적인 이상 투척
직접 방법 내에서 이상,throw exception 던지기;
실행할 때 비정상적으로 처리하지 않는 것을 추천합니다.
사용자 정의 이상은 Exception 클래스에서 계승된 하위 클래스를 정의합니다. 일반적으로 Runtime Exception 클래스에서 계승을 정의하지 않습니다.try 블록에return 문장이 존재할 때finally 블록 문장이 있다면finally 블록의 문장을 실행한 후에 되돌아와야 하지만try 블록에 System이 존재한다면.exit (0) 문장은finally 블록의 문장을 실행하지 않습니다. 시스템 때문에.exit(0)는 현재 실행 중인java 가상 머신을 종료하고 프로그램은 가상 머신이 종료되기 전에 실행을 종료합니다.
class myException extends Exception
{
public myException(String str)
{
super(str);
}
}
myException
이상은 파일 처리, 입력 출력 흐름의 응용 장소 등에서 사용된다.일반적인 예외 유형은 다음과 같습니다.
1、java.lang. Null Pointer Exception: 빈 바늘 이상, 이 이상이 발생한 원인은 어떤 인용이null이지만, 프로그램에서 이 인용의 어떤 방법을 호출했습니다.
2、java.lang. ClassNotFoundException: 지정한 클래스를 찾을 수 없습니다. 클래스가 정의되지 않았을 수도 있습니다.
3、java.lang.ArithmeticeException: 산술 이상, 예를 들어 제수가 0입니다.
4, FileNotFoundException: 파일 처리에서 지정한 파일을 찾을 수 없습니다.
5, IOException: 입력 출력 흐름 이상
6. SQLException: sql 이상, sql 문장을 실행하는 데 오류가 발생했습니다.
그 밖에 여러 가지 유형의 이상이 있는데, 이후의 프로그래밍에서 만날 수 있다.본고에서 기술한 것이 여러분의 자바 프로그램 설계에 어느 정도 참고 가치가 있다고 믿습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
38. Java의 Leetcode 솔루션텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.