• 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.
  • 相关阅读:
    ThinkPHP运算符 与 SQL运算符 对比表
    [Java 8] (6) Lambda与资源管理
    Codeforces Round #275 (Div. 2) C
    HOJ 2245 浮游三角胞(数学啊 )
    [UVALive 6663 Count the Regions] (dfs + 离散化)
    浅解ARC中的 __bridge、__bridge_retained和__bridge_transfer
    SpringMVC: web.xml中声明DispatcherServlet时一定要加入load-on-startup标签
    Unity3d 4.3.4f1执行项目
    更新Windows ActiveX,Ios
    C++11: final与override
  • 原文地址:https://www.cnblogs.com/zeroone/p/3292415.html
Copyright © 2020-2023  润新知