using System;
public class Program {
public static void Main() {
try {
throw new CampoVazioException<int>(1);
} catch (CampoVazioException<int>) {
Console.WriteLine("deu erro");
}
}
}
public class CampoVazioException<T>: ApplicationException {
public T Objeto { get; }
public CampoVazioException(T objeto) : this(objeto, "") {}
public CampoVazioException(T objeto, string mensagem) : base(mensagem) {
Objeto = objeto;
}
}
//https://pt.stackoverflow.com/q/288465/101
dXNpbmcgU3lzdGVtOwoKcHVibGljIGNsYXNzIFByb2dyYW0gewogICAgcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKSB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgdGhyb3cgbmV3IENhbXBvVmF6aW9FeGNlcHRpb248aW50PigxKTsKICAgICAgICB9IGNhdGNoIChDYW1wb1ZhemlvRXhjZXB0aW9uPGludD4pIHsKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoImRldSBlcnJvIik7CiAgICAgICAgfQogICAgfQp9CgpwdWJsaWMgY2xhc3MgQ2FtcG9WYXppb0V4Y2VwdGlvbjxUPjogQXBwbGljYXRpb25FeGNlcHRpb24gewogICAgcHVibGljIFQgT2JqZXRvIHsgZ2V0OyB9CgogICAgcHVibGljIENhbXBvVmF6aW9FeGNlcHRpb24oVCBvYmpldG8pIDogdGhpcyhvYmpldG8sICIiKSB7fQogICAgcHVibGljIENhbXBvVmF6aW9FeGNlcHRpb24oVCBvYmpldG8sIHN0cmluZyBtZW5zYWdlbSkgOiBiYXNlKG1lbnNhZ2VtKSB7CiAgICAgICAgT2JqZXRvID0gb2JqZXRvOwogICAgfQp9CgovL2h0dHBzOi8vcHQuc3RhY2tvdmVyZmxvdy5jb20vcS8yODg0NjUvMTAx