写点什么

评论:Exception Hunter

2008 年 4 月 17 日

未处理的异常是任何应用程序的克星,特别发生在那些无用户交互的应用程序中的。理想情况下,编译器应该能检测并警告开发人员这些潜在的问题,但是目前的.NET 编译器甚至不能判定那些异常应该被抛出。

为了解决这个问题,Red Gate 发布了 Exception Hunter 。这个工具分析方法以判定它们会抛出哪些异常。生成的报告能交互式的查看或者链接到诸如 CruiseControl 这样的自动构建系统中。

类似 Red Gate 的大部分软件一样,Exception Hunter 有一个简单直观的界面。但是不幸的是,简单不总是代表着易用。虽然这个工具能生成报告,但它只能从命令行来执行。这么一个简单的任务在 GUI 中居然找不到地方可以调用。

更郁闷的是,方法列表并没有显示出那个方法会真正地抛出异常。一些方法被加粗显示,但这只表明它不是一个基类的子类。所以,用户不得不分别地展开每个方法.

其实上面提到的这些都可以忍受,但有一件事——误判的数量无比的多。来看看这个简单的 VB 应用程序

仅仅这几行代码能抛出的这些异常:

  • ArgumentException 6
  • ArgumentNullException 4, 6
  • ArgumentOutOfRangeException 4, 5, 6
  • FormatException 4, 6
  • IndexOutOfRangeException 6
  • InvalidCastException 6
  • InvalidOperationException 6
  • ObjectDisposedException 6
  • IO.PathTooLongException 6
  • NotSupportedException 6
  • NullReferenceException 6
  • OutOfMemoryException 4, 5, 6

人们无法想象一个微不足道的应用程序能生成这么多的异常。

虽然有效的异常分析将会为业界带来很多好处,但 Red Gate 的 Exception Hunber 表明我们如今还做不到这点。且人们不得不担心这是否是一个可以解决的问题。

查看英文原文: Review: Exception Hunter

2008 年 4 月 17 日 00:08460
用户头像

发布了 254 篇内容, 共 37.8 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

JVM系列之:再谈java中的safepoint

程序那些事

Java JVM JIT safepoint

Google Protocol Buffer 学习笔记

半亩房顶

protobuf

Web 开发必须掌握的三个技术:Token、Cookie、Session

华为云开发者社区

HTTP Token web开发 session Cookie

learn go with tests 学习笔记(三) 指针和错误

半亩房顶

golang golang新手

联盟链有自己的路要走

Leonbond

区块链 联盟链 公有链

1.1 了解Spring框架 -《SSM深入解析与项目实战》

谙忆

LeetCode题解:24. 两两交换链表中的节点,迭代,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

微服务架构下你的数据一致了吗?

码猿外

架构 微服务 数据一致性

learn go with tests 学习笔记(四)依赖注入

半亩房顶

golang golang新手

1.2 了解MyBatis -《SSM深入解析与项目实战》

谙忆

SQL的三十而已—SQL30问

大唐小生

sql 技术人生

秒懂云通信:如何使用阿里云号码认证服务(小白指南)

巨侠说

云通信 通信云 号码认证

Java项目如何分层

老胡爱分享

分层架构 项目

视频会议专线部署不会?别急,我教你

华为云开发者社区

网络 网关 华为云 高清视频 welink

计算机网络基础(十五)---传输层-TCP协议详解

书旅

计算机网络 网络 协议栈 协议族

企业网站搭建避坑指南

姜奋斗

网站 新手指南 企业 网站搭建 避坑

人生修炼秘籍

xiaoboey

时间管理 人生修炼 知行合一 熵增 时间复利

《SSM深入解析与项目实战》目录与说明

谙忆

2.1 类加载器、 双亲委派模型 -《SSM深入解析与项目实战》

谙忆

七的婚姻生活

徐说科技

Jessie’s产品经理系列1-基础能力篇

架构5班杨娟Jessie

产品经理 能力模型

C/C++陷阱与套路,当年就是折在这些地儿…

华为云开发者社区

c++ 设计 编辑 程序 陷阱

CDN百科10:快速上手阿里云DCDN全站加速,最新配置与购买优惠教程

巨侠说

CDN 直播 网页加速

Netty之旅:你想要的NIO知识点,这里都有!

一枝花算不算浪漫

Netty nio

菊长说丨一文读懂MySQL4种事务隔离级别

华为云开发者社区

MySQL 数据库 事务隔离级别 事务 华为云

字符串匹配 - Sunday算法

半亩房顶

数据结构与算法 字符串匹配算法

ChaosBlade:从零开始的混沌工程(五)

郭旭东

Kubernetes 云原生 混沌工程

操作系统和并发的爱恨纠葛

cxuan

Java 并发

InnoDB存储引擎简介

Simon

MySQL innodb

learn go with tests 学习笔记(一) hello world

半亩房顶

golang golang新手

learn go with tests 学习笔记(二) 数组与切片

半亩房顶

golang golang新手

NLP领域的2020年大事记及2021展望

NLP领域的2020年大事记及2021展望

评论:Exception Hunter-InfoQ