Java 프로그램을 작성할 때 예외는 일반적으로 포착되며 일부 예외는 강제로 잡힐 필요가 없습니다. 나와 같은 다른 언어에서 옮겨진 사람들은 실제로 약간 혼란스러워서 내 이해를 위해 그것을 재 해석 할 것입니다.
예외의 기본 클래스는 예외이며 예외 서브 클래스에는 runtimeexception 및 기타 예외가 포함됩니다. 이러한 다른 예외는 점검 된 예외라고하며, runtimeexception을 선택되지 않은 예외라고합니다.
Java는 단순히 이름을 보면 이해하기가 쉽지 않습니다. 컴파일러는 모든 유형이나 메소드가 예외를 던질 수 있음을 알고 있으며 특정 유형 또는 방법을 사용하면 컴파일러가 알려진 예외를 포착하도록 프롬프트합니다. 이러한 컴파일러에게 알려진 예외는 확인 된 예외입니다. 예를 들어, 파일 스트림을 닫으면 IOException이 이미 발생할 수있는 가까운 방법에 이미 언급되었으며 컴파일러는 예외를 잡아야한다고 메시지합니다. Runtimeexception 예외는 컴파일 단계에서 알려지지 않으며, 예를 들어 3/0 (3으로 나눈)과 같은 실행 단계에서만 결정할 수 있습니다. 이 제수는 실행 단계에서 변경 될 수 있으므로 캡처 할 프롬프트가 없습니다. 이러한 runtimeexeptions는 확인되지 않은 예외입니다.
요컨대, Java는 가능한 한 안정된 프로그램을 안정적으로 만들어야합니다. 이 설명은 더 명확해야합니다.
요점에 가자.
일부 친구들은 프로그램을 디버깅 할 때이 상황에 직면했을 수 있습니다. 두 가지 이유가 있습니다. 1. 예외가있는 스레드는 당신이 잡는 스레드와 같은 스레드가 아닙니다. 2. 프로그램은 예외가 아니라 오류가 발생합니다. 예외와 마찬가지로 오류는 Throwable에서 상속되면 잡히지 말아야 할 심각한 오류를 나타냅니다. 이 설명을 보았을 때, 나는 너무 어리석어서 왜 오류를 포착해서는 안되는 지 이해하지 못했습니다. 오류가 발생하기 때문에 프로그램이 직접 실행되지 않으므로이를 잡는 것은 의미가 없습니다. 그런 다음 내 문제가 다시 발생합니다. 문제가 발생하면 로그를 볼 수 없으면 프로그램이 종료됩니다. 실제로이 가정은 사실이 아닙니다. 오류가 실제로 존재하면 개발 환경에서 문제를 발견하고 공식 환경에 게시하는 것은 불가능하기 때문입니다.
아아, 나는 먼 길을 가고 어리석은 일을 했으므로 오류를 캡처 해야하는지 논의하지 마십시오!
나는 여전히 지식이 풍부하고 글쓰기의 목적은 모든 사람의지도를 얻는 것입니다. 기사가 도움이되면 좋을 것입니다.