我有一些正确触发的代码,虽然看起来它实际上并没有按照我的预期进行。
我正在使用System.Text.RegularExpressions.Regex来测试正确格式化的方法参数,在我的测试中,我抛出的ArgumentException实际上并没有停止应用程序。并且没有尝试/捕获它。
当我单步执行代码时,似乎只要它到达throw new ArgumentException
行,它就会跳转到我的Form1_Activated事件处理程序,然后继续其业务。
void MainForm_Load(object sender, System.EventArgs e)
{
SNSBackup.Backup(_saveLocation, _saveLocation + "\\Backups", "*.xml, *.recipex", 5, ArchiveType.Zip);
}
public static void Backup(string source, string destination, string ext, int backupsToKeep, ArchiveType type)
{
// Test to see if the 'ext' parameter is in a valid format.
// Makes sure that the
Regex r = new Regex(@"^(\*\.\w+\s*\,?\s*)+$");
if (!r.IsMatch(ext))
throw new ArgumentException();