this is a bit weird to read. Maybe just use the begin rescue block to simplify:

```ruby
unless File.exist?(file)
  raise BerksfileNotFound.new(file)
end

begin
  new(file).dsl_eval_file(file)
rescue ...
end
```