---
title: 'Antipattern: throw new Exception()'
url: 'https://tutego.de/blog/javainsel/2011/08/antipattern-throw-new-exception'
markdown: 'https://tutego.de/blog/javainsel/2011/08/antipattern-throw-new-exception.md'
date: '2011-08-20'
description: 'Durch Zufall bin ich bei Heise über gestoßen. Eine Implementierung stößt mir auf: public CFind(String s) throws Exception { super(s); if (!isDirectory()) throw new Exception(s+" is NOT a directory!"); for (File f:listFiles()) { if (f.isDirectory()) { …'
taxonomy:
  category:
    - Allgemein
---

# Antipattern: throw new Exception()

![Illustration einer tropischen Insel mit Palmen und einem hohen Berg](https://tutego.de/blog/javainsel/user/themes/tutego/images/insel-cover.jpg)# Java Blog für Programmierer

[Java Blog für Programmierer](https://tutego.de/blog/javainsel/)

## Antipattern: throw new Exception()

20.08.2011 · [Christian Ullenboom](https://tutego.de/blog/javainsel/author/admin/)

Durch Zufall bin ich bei Heise über gestoßen. Eine Implementierung stößt mir auf:

```java
public CFind(String s) throws Exception {        super(s);        if (!isDirectory()) throw new Exception(s+" is NOT a directory!");        for (File f:listFiles()) {            if (f.isDirectory()) {                System.out.println(f.getAbsolutePath());                new CFind(f.getAbsolutePath());            }        }
```

Es ist keine gute Idee eine direkte Instanz von `Exception` zu bauen aus auszulösen. Wenn, sollten es immer Unterklasse von `Exception` sein. In diesem Fall ist das Argument falsch, sodass man ein `IllegarArgumentException` auslösen könnte. Als zweites gilt **throws `Exception`** in der Methodensignatur zu vermeiden – das zwingt Nutzer zur `catch(Exception e)`-Keule, ganz schlecht, weil dann auch alle RuntimeExceptions aufgefangen werden.

Kategorien: [Allgemein](https://tutego.de/blog/javainsel/category/allgemein/)

[← Alle Beiträge](https://tutego.de/blog/javainsel/)

---

## Navigation

- Previous: [c’t Artikel über Java 7: “Was lange währt …” – eine kurze Nachkritik](https://tutego.de/blog/javainsel/2011/08/ct-atikel-ber-java-7-was-lange-whrt-eine-kurz-nachkritik.md)
- Next: [Mein Buchbeispiel ist falsch (und nur einem fällt es auf und sagt es)](https://tutego.de/blog/javainsel/2011/08/mein-buchbeispiel-ist-falsch-und-nur-einem-fllt-es-auf-und-sagt-es.md)
