← Back to Patent Explorer
US5761513A Expired / Lapsed US ⏱️ 0.0 years remaining

System and method for exception handling in dynamically linked programs

Assignee: Oracle America Inc
•
Filing: 1996-07-01
•
Granted: 1998-06-02
•
Expires: 2016-07-01
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A compiler requires normal exceptions that are throwable by a method to be either explicitly declared or else "caught" by appropriate exception handlers in the method to be compiled. This ensures that all normal exceptions thrown will be handled by a programmer specified exception handler. The compiler inspects all instructions in a specified method that throw exceptions and all instructions that invoke other methods, and determines whether each type of exception throwable by those instructions and invocable methods is (A) a serious exception (i.e., not a normal exception), (B) is caught by an enclosing exception handler, or (C) is explicitly declared in the method header of the specified method. If any throwable exception cannot be so categorized, that means the throwable exception is a normal exception that is not caught by an enclosing exception and is not explicitly declared in the method header, which means that the method to be compiled is not well formed. As a result, the compiler rejects the specified method, aborting compilation and generating an appropriate error message. The compiler determines the set of throwable exceptions in part by inspecting the methods that are invocable by the specified method for declarations of throwable exceptions. When initiating execution of the specified method, the program execution system inspects the method's declaration of throwable exceptions and blocks execution of the specified method unless exception handlers have been established for handling all the exceptions, if any, included in the declaration.

Inventors

  • 👤 Frank Yellin
  • 👤 William N. Joy
  • 👤 Arthur A. van Hoff

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 08:58
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/40; G06F8/41; G06F8/43; G06F8/436; G06F8/437; G06F9/00; G06F9/06; G06F9/44; G06F9/448; G06F9/4488; G06F9/449; G06F2209/00; G06F2209/48; G06F2209/481

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 143 words
A computer implemented method of managing exceptions throwable by a specified method, said specified method including a declaration of throwable exceptions, said throwable exceptions in said declaration including exceptions throwable during execution of said specified method that may not be handled by enclosing exception handlers, comprising the steps of: determining a set of exceptions that are (A) throwable by the specified method and by methods that can be invoked by the specified method, (B) not members of a predefined set of excluded exceptions, and (C) not handled by enclosing exception handlers; and comparing said determined set with said throwable exceptions in said declaration to determine whether any of said throwable exceptions in said set are not included declaration; and preventing compilation of said specified method when said comparing step determines that at least one throwable exceptions in said set is not included declaration.
Claim 2
Dependent Claim 143 words
A computer implemented method of managing exceptions throwable by a specified method, said specified method including a declaration of throwable exceptions, said throwable exceptions in said declaration including exceptions throwable during execution of said specified method that may not be handled by enclosing exception handlers, comprising the steps of: determining a set of exceptions that are (A) throwable by the specified method and by methods that can be invoked by the specified method, (B) not members of a predefined set of excluded exceptions, and (C) not handled by enclosing exception handlers; and comparing said determined set with said throwable exceptions in said declaration to determine whether any of said throwable exceptions in said set are not included declaration; and preventing compilation of said specified method when said comparing step determines that at least one throwable exceptions in said set is not included declaration.
Claim 3
Dependent Claim 27 words
The method of claim 1, generating an error message when said comparing step determines that at least one throwable exceptions in said set is not included declaration.
Claim 4
Dependent Claim 62 words
The method of claim 1, said determining step including inspecting said methods throwable by the specified method for declarations of throwable exceptions, determining which of said declared throwable exceptions in said inspected methods are handled by enclosing exception handlers, and including in said set those of the throwable exceptions declared in said inspected methods that are not handled by enclosing exception handlers.
Claim 5
Dependent Claim 23 words
The method of claim 1, performing said determining, comparing and preventing steps while compiling the specified method from source code into compiled code.
Claim 6
Dependent Claim 45 words
The method of claim 1, when initiating execution of the specified method, inspecting said declaration of throwable exceptions in the specified method and blocking execution of the specified method unless exception handlers have been established for handling the exceptions, if any, included in said declaration.
Claim 7
Dependent Claim 196 words
A computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism configured to direct the operation of the computer system to manage exceptions throwable by a specified method, said specified method including a declaration of throwable exceptions, said throwable exceptions in said declaration including exceptions throwable during execution of said specified method that may not be handled by enclosing exception handlers, comprising: a first set of instructions for determining a set of exceptions that are (A) throwable by the specified method and by methods that can be invoked by the specified method, (B) not members of a predefined set of excluded exceptions, and (C) not handled by enclosing exception handlers; and a second set of instructions for comparing said determined set with said throwable exceptions in said declaration to determine whether any of said throwable exceptions in said set are not included declaration; and a third set of instructions for preventing compilation of said specified method when said comparing step determines that at least one throwable exceptions in said set is not included declaration.
Claim 8
Dependent Claim 196 words
A computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism configured to direct the operation of the computer system to manage exceptions throwable by a specified method, said specified method including a declaration of throwable exceptions, said throwable exceptions in said declaration including exceptions throwable during execution of said specified method that may not be handled by enclosing exception handlers, comprising: a first set of instructions for determining a set of exceptions that are (A) throwable by the specified method and by methods that can be invoked by the specified method, (B) not members of a predefined set of excluded exceptions, and (C) not handled by enclosing exception handlers; and a second set of instructions for comparing said determined set with said throwable exceptions in said declaration to determine whether any of said throwable exceptions in said set are not included declaration; and a third set of instructions for preventing compilation of said specified method when said comparing step determines that at least one throwable exceptions in said set is not included declaration.
Claim 9
Dependent Claim 37 words
The computer program product of claim 6, said third set of instructions including instructions for generating an error message when said comparing step determines that at least one throwable exceptions in said set is not included declaration.
Claim 10
Dependent Claim 68 words
The computer program product of claim 6, said first set of instructions including instructions for inspecting said methods throwable by the specified method for declarations of throwable exceptions, determining which of said declared throwable exceptions in said inspected methods are handled by enclosing exception handlers, and including in said set those of the throwable exceptions declared in said inspected methods that are not handled by enclosing exception handlers.
Claim 11
Dependent Claim 32 words
The computer program product of claim 6, wherein said first, second and third sets of instructions are subsets of a set of instructions for specified methods from source code into compiled code.
Claim 12
Dependent Claim 55 words
The computer program product of claim 6, including a fourth set of instructions that, when execution of the specified method is initiated, inspect said declaration of throwable exceptions in the specified method and block execution of the specified method unless exception handlers have been established for handling the exceptions, if any, included in said declaration.
Claim 13
Dependent Claim 137 words
In a distributed computer system, a set of computer-readable modules suitable for transmission over communications links to data processing systems, said set of modules comprising: a first set of instructions for determining a set of exceptions that are (A) throwable by the specified method and by methods that can be invoked by the specified method, (B) not members of a predefined set of excluded exceptions, and (C) not handled by enclosing exception handlers; and a second set of instructions for comparing said determined set with said throwable exceptions in said declaration to determine whether any of said throwable exceptions in said set are not included declaration; and a third set of instructions for preventing compilation of said specified method when said comparing step determines that at least one throwable exceptions in said set is not included declaration.
Claim 14
Dependent Claim 137 words
In a distributed computer system, a set of computer-readable modules suitable for transmission over communications links to data processing systems, said set of modules comprising: a first set of instructions for determining a set of exceptions that are (A) throwable by the specified method and by methods that can be invoked by the specified method, (B) not members of a predefined set of excluded exceptions, and (C) not handled by enclosing exception handlers; and a second set of instructions for comparing said determined set with said throwable exceptions in said declaration to determine whether any of said throwable exceptions in said set are not included declaration; and a third set of instructions for preventing compilation of said specified method when said comparing step determines that at least one throwable exceptions in said set is not included declaration.
Claim 15
Dependent Claim 39 words
The set of computer readable modules of claim 11, said third set of instructions including instructions for generating an error message when said comparing step determines that at least one throwable exceptions in said set is not included declaration.
Claim 16
Dependent Claim 70 words
The set of computer readable modules of claim 11, said first set of instructions including instructions for inspecting said methods throwable by the specified method for declarations of throwable exceptions, determining which of said declared throwable exceptions in said inspected methods are handled by enclosing exception handlers, and including in said set those of the throwable exceptions declared in said inspected methods that are not handled by enclosing exception handlers.
Claim 17
Dependent Claim 34 words
The set of computer readable modules of claim 11, wherein said first, second and third sets of instructions are subsets of a set of instructions for specified methods from source code into compiled code.
Claim 18
Dependent Claim 57 words
The set of computer readable modules of claim 11, including a fourth set of instructions that, when execution of the specified method is initiated, inspect said declaration of throwable exceptions in the specified method and block execution of the specified method unless exception handlers have been established for handling the exceptions, if any, included in said declaration.

References Cited (Backward Citations)

US5347632A Cited
US5628016A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-06-01 2001-12-01 2002-06-02 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-06-01 2005-12-01 2006-06-02 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-06-01 2009-12-01 2010-06-02 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag