We only support the exception classes required by R7RS: (file-error?) and (read-error?). This isn't very precise, in particular for functional tests which can currently only assert that any error should occur during a test. We should:
Choose a logical group of error classes and ensure the compile-time exceptions conform to them. Racket seems to distinguish range, syntax, type, arguments and arity errors which could be a good start.
Add our own error classes that are harmonized with the ones in the compiler and add custom classes and predicates for those errors.
Change the functional test framework to recognize the error classes we introduce regardless if they're raised at compile or run time
Evaluate the existing functional tests and use the more specific error expectations where possible
We only support the exception classes required by R7RS: (file-error?) and (read-error?). This isn't very precise, in particular for functional tests which can currently only assert that any error should occur during a test. We should: