zoukankan      html  css  js  c++  java
  • Exception

    库:http://crashreporterdotnet.codeplex.com/documentation

    private
    void ThrowException<T>(string message, params object[] values) where T : Exception, new() { // NOTE Cannot provide arguments when creating an instance of a type parameter T. var exception = (T)Activator.CreateInstance(typeof(T), string.Format(message, values)); throw exception; }

    And you would simply use it like this:

    ThrowException<InvalidOperationException>("VehicleMovementBatch Id {0} was not located.", batchId); 
    ************

    Define custom exception class:
    [Serializable]
    public class CustomException : Exception
    {
        public CustomException()
            : base() { }
        
        public CustomException(string message)
            : base(message) { }
        
        public CustomException(string format, params object[] args)
            : base(string.Format(format, args)) { }
        
        public CustomException(string message, Exception innerException)
            : base(message, innerException) { }
        
        public CustomException(string format, Exception innerException, params object[] args)
            : base(string.Format(format, args), innerException) { }
        
        protected CustomException(SerializationInfo info, StreamingContext context)
            : base(info, context) { }
    }

    Example:
     
    1. Throw exception with out message
    throw new CustomException()
    2. Throw exception with simple message
    throw new CustomException(message)
    3. Throw exception with message format and parameters
    throw new CustomException("Exception with parameter value '{0}'", param)
    4. Throw exception with simple message and inner exception
    throw new CustomException(message, innerException)
    5. Throw exception with message format and inner exception. Note that, the variable length params are always floating.
    throw new CustomException("Exception with parameter value '{0}'", innerException, param)
    
    6. The last flavor of custom exception constructor is used during exception serialization/deserialization.
  • 相关阅读:
    邻项交换排序
    [POJ 2559]Largest Rectangle in a Histogram 单调栈
    最大子序和 单调队列
    单调栈 总结
    计算中缀表达式
    [HYSBZ 2457] 双端队列
    数组的宽度 单调栈
    SVM从入门到精通
    CVPR2018_RotationNet: Joint Object Categorization and Pose Estimation Using Multiviews from Unsupervised Viewpoints
    比特币以及区块链入门
  • 原文地址:https://www.cnblogs.com/zeroone/p/3292415.html
Copyright © 2011-2022 走看看