If I try to load an encrypted file with ES2.Load() but there's something wrong with it (wrong password or wrong file) I get an Exception error like:
CryptographicException: Bad PKCS7 padding. Invalid length 53.
I've just tried your code at my end and the exception appears to be caught fine at my end. If you're not using the latest version of Unity, you might want to try updating as there might be a bug at their end causing try/catch blocks to fail. It will also be worth checking that the Exception is indeed thrown by that method call. And you might also want to check on the Unity forums to see if anyone else is having issues with try/catch blocks being ignored.
I've also created a standalone test script below which also works fine for me.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TestCryptographicException : MonoBehaviour {
// Use this for initialization
void Start ()
{
ES2.Save(123, "myEncryptedFile.txt?tag=myTag&encrypt=true&password=myPass");
try
{
ES2.Load<int>("myEncryptedFile.txt?tag=myTag&encrypt=true&password=myWrongPass");
}
catch(System.Exception e)
{
Debug.Log("Exception caught.");
}
}
}