### Summary

`ansible-lint` stops working with the error message "A vault password must be specified to decrypt data". It is difficult to understand which of the vault files is causing the problem.

So I ask you to extend the error messages in

https://github.com/ansible/ansible/blob/61d5586c7cf3b5f821bbe748aaff9d421da13cd8/lib/ansible/parsing/vault/__init__.py#L604

and

https://github.com/ansible/ansible/blob/61d5586c7cf3b5f821bbe748aaff9d421da13cd8/lib/ansible/parsing/vault/__init__.py#L661

with the filename like in:

https://github.com/ansible/ansible/blob/61d5586c7cf3b5f821bbe748aaff9d421da13cd8/lib/ansible/parsing/vault/__init__.py#L665-L667

Example: Current behaviour
```
# ansible-lint roles/myrole/tasks/vars/config_vault.yml
A vault password must be specified to decrypt data
```

Suggested result:
```
# ansible-lint roles/myrole/tasks/vars/config_vault.yml
A vault password must be specified to decrypt data in roles/myrole/tasks/vars/config_vault.yml
```


### Issue Type

Bug Report

### Component Name

vault

### Ansible Version

```console
$ ansible --version
ansible [core 2.13.7]
  config file = None
  configured module search path = ['/home/carsten/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/carsten/virtualenv/lib64/python3.10/site-packages/ansible
  ansible collection location = /home/carsten/.ansible/collections:/usr/share/ansible/collections
  executable location = /home/carsten/virtualenv/bin/ansible
  python version = 3.10.8 (main, Oct 28 2022, 17:28:32) [GCC]
  jinja version = 3.1.2
  libyaml = True
```


### Configuration

```console
n/a
```


### OS / Environment

SUSE Linux Enterprise Server 15 SP4

### Steps to Reproduce

see summary

### Expected Results

see summary

### Actual Results

```console
see summary
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
""""Destroy a file, when shred (core-utils) is not available
        Unix `shred' destroys files "so that they can be recovered only with great difficulty with
        specialised hardware, if at all". It is based on the method from the paper
        "Secure Deletion of Data from Magnetic and Solid-State Memory",
        Proceedings of the Sixth USENIX Security Symposium (San Jose, California, July 22-25, 1996).
        We do not go to that length to re-implement shred in Python; instead, overwriting with a block
        of random data should suffice.
        See https://github.com/ansible/ansible/pull/13700 .
        """
        file_len = os.path.getsize(tmp_path)
        if file_len > 0:  
            max_chunk_len = min(1024 * 1024 * 2, file_len)
            passes = 3
            with open(tmp_path, "wb") as fh:
                for _ in range(passes):
                    fh.seek(0, 0)
                    
                    chunk_len = random.randint(max_chunk_len // 2, max_chunk_len)
                    data = os.urandom(chunk_len)
                    for _ in range(0, file_len // chunk_len):
                        fh.write(data)
                    fh.write(data[:file_len % chunk_len])
                    
                    if fh.tell() != file_len:
                        raise AnsibleAssertionError()
                    os.fsync(fh)
    def _shred_file(self, tmp_path):