상위 처리 언어 (예 : Java)에서 예외 처리가 구현되는 방식은 무엇입니까? 이것으로, 나는 언어 내에서 예외를 사용하는 방법을 의미하지는 않는다. 내 말은 컴파일러가 예외 처리로 인식하는 코드 (어셈블리 또는 Java 바이트 코드와 같은 일부 중간체)를 생성하는 방법입니다. 결국 컴퓨터가 명령 만 실행할 수 있기 때문입니다. 높은 수준의 모든 것은 그러한 지시로 구성되어야합니다.Java에서 예외 처리는 어떻게 구현됩니까?
예외가 존재하기 전에 C에서 오류 코드를 반환하지만 함수가 이미 결과를 반환하면 무엇을해야합니까? 아마도 오류 코드와 실제 결과의 구조를 반환 할 것입니까?
두 개의 대체 반환 값이 있다고 생각할 수 있습니다. 문자열이나 숫자 또는 아무것도 아닌 값을 반환하거나 오류 조건을 반환합니다. 두 가지 모두 약간의 데이터 묶음 일뿐입니다. 생성 된 호출 코드는 발생한 것을 감지하고 처리해야합니다. 어쩌면 거기에 잡힐 것입니다. 아마도 호출 메서드/함수는 오류 조건을 반환합니다. –
C에서 하나 이상의 특수 함수 ('setjmp()'와'longjmp()')를 사용하여 하나 이상의 정상 함수 리턴을 우회하는 이전 포인트로 되돌릴 수 있습니다. 이러한 기능은 그러한 "점프"를 용이하게하기 위해 구조에 /에서 최소 CPU 상태 (일반적으로 레지스터 몇 개)를 기록하고 복원합니다. –
4 '건설적인 투표가 아닌가?' 부디. 이 질문은 JVM 명세에서 찾을 수있는 사실적인 답변이 하나 있습니다. – EJP