hola alguien me puede decir cómo escribir excepciones definidas por el usuario en C# Como lo tenemos en Java, ¿podemos escribir en C#?Cómo escribir excepciones definidas por el usuario en C#?
5
A
Respuesta
11
Es prácticamente el mismo, ya que es en Java - que se extienden a la clase Exception
.
En la forma más básica.
public class CustomException : System.Exception
{
public CustomException()
{
}
public CustomException(string message)
: base(message)
{
}
public CustomException(string message, System.Exception innerException)
: base(message, innerException)
{
}
}
Para esto, agregue los datos que desea capturar mediante campos o propiedades.
Fuera de interés, antes de responder a esta pregunta, consulté las líneas de diseño de Microsoft en Excepciones personalizadas. Designing Custom Exceptions (MSDN)
- Evite las jerarquías de espacios de nombres profundos.
- Si es posible, obtenga una de las excepciones de base común proporcionadas, es decir,
ArgumentException
. SIN EMBARGO No deriva deApplicationException
. No es dañino, no tiene sentido hacerlo. MSDN Blog Post on ApplicationException. - Use el sufijo "Excepción".
- Hacer las excepciones serializables implementando la interfaz
ISerializable
. Aparentemente, una excepción debe ser serializable para funcionar correctamente en el dominio de la aplicación y los límites remotos. - Almacene la información sensible a la seguridad en un estado de excepción privada, agregue un atributo SecurityPermission para garantizar que solo el código de confianza pueda obtener la información.
I altamente recomiendo la lectura del Design Guidelines en MSDN.
16
Desea heredar de System.Exception
y, preferiblemente, proporcionar (como mínimo) los mismos constructores públicos y pasar los parámetros a los constructores base. Agregue las propiedades y/o métodos relevantes que considere apropiados para su necesidad particular.
public class MyException : System.Exception
{
public MyException() : base() { }
public MyException(string message) : base(message) { }
public MyException(string message, Exception innerException) : base(message, innerException) { }
}
Cuestiones relacionadas
- 1. Conversiones definidas por el usuario en C++
- 2. cálculo de fórmulas definidas por el usuario (con C++)
- 3. Depuración PostgreSQL Funciones definidas por el usuario
- 4. Creando conversiones definidas por el usuario
- 5. ¿Por qué? "Declarar siempre excepciones definidas por el usuario como definitivas"
- 6. ¿Cómo sobrecargar las funciones definidas por el usuario en Matlab?
- 7. Error al manejar funciones definidas por el usuario
- 8. Crear/Usar funciones definidas por el usuario en System.Data.SQLite?
- 9. Funciones definidas por el usuario de SQLITE en Lisp
- 10. Fórmulas en funciones definidas por el usuario en R
- 11. dónde poner las clases definidas por el usuario en Rails
- 12. Lista de funciones globales definidas por el usuario en JavaScript?
- 13. Funciones agregadas definidas por el usuario en Oracle PIVOT cláusula
- 14. Funciones en línea definidas por el usuario OpenCL
- 15. Escribir excepciones en el archivo
- 16. Clasificación mediante comparador- Orden descendente (clases definidas por el usuario)
- 17. Estructuras definidas por el usuario con una función MATLAB mex
- 18. Subconsulta de MySQL con variables definidas por el usuario
- 19. Las funciones agregadas más útiles definidas por el usuario
- 20. Cómo conectar las funciones de bash definidas por el usuario con la tubería
- 21. ¿Cómo usar las funciones SQL definidas por el usuario en .NET?
- 22. ¿Cómo puedo admitir comodines en cadenas de búsqueda definidas por el usuario en Python?
- 23. cómo cargar automáticamente las funciones definidas por el usuario en mathematica
- 24. ¿Cómo obligo a Mathematica a incluir funciones definidas por el usuario en Simplify y FullSimplify?
- 25. Lista todas las variables definidas por el usuario en el esquema
- 26. perl6: ¿necesito el @ -sigil para las variables definidas por el usuario?
- 27. ¿Cuándo se evalúan las funciones definidas por el usuario en una consulta en Oracle?
- 28. ¿Cómo escribir el atributo que detecta excepciones y elimina stacktrace?
- 29. Pregunta simple sobre el uso de funciones externas() y definidas por el usuario?
- 30. ¿Cómo distinguir las funciones definidas por el usuario/biblioteca de un archivo compilado?
Según las Pautas de diseño de .NET Framework, se supone que debes heredar directamente de Exception a menos que tengas una buena razón para elegir algo más. –
@Jonathan: todos los sistemas vuelven a la normalidad. Borré mi estúpida respuesta y eliminé mi inútil comentario. Votaron la respuesta en nombre del espíritu SO. Gracias por la corrección. –