diff --git a/.gitignore b/.gitignore
index 9593d84..ef43f41 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,6 @@
 Pipfile
 Pipfile.lock
+env/
 .vscode/*
 .idea/*
 venv/*
diff --git a/odufrn_downloader/exceptions.py b/odufrn_downloader/exceptions.py
new file mode 100644
index 0000000..e69e97b
--- /dev/null
+++ b/odufrn_downloader/exceptions.py
@@ -0,0 +1,10 @@
+class odufrException(Exception):
+    def __init__(self):
+        default_message = 'Default Exception!'
+        super().__init__()
+
+
+class odufrIOError(odufrException):
+    def __init__(self):
+        default_message = 'odufrIOError Exception!'
+        super().__init__()
diff --git a/odufrn_downloader/modules/File.py b/odufrn_downloader/modules/File.py
index 7eac2f4..1cdeec2 100644
--- a/odufrn_downloader/modules/File.py
+++ b/odufrn_downloader/modules/File.py
@@ -1,5 +1,6 @@
 import os
 from .Package import Package
+from odufrn_downloader.exceptions import odufrIOError
 
 
 class File(Package):
@@ -34,5 +35,5 @@ class File(Package):
                     self.download_package(
                         packageName.rstrip(), path, dictionary, years
                     )
-        except IOError as ex:
-            self._print_exception(ex)
+        except IOError:
+            raise odufrIOError()

diff --git a/tests/test_file.py b/tests/test_file.py
index bb21fb0..4bd5fa3 100644
--- a/tests/test_file.py
+++ b/tests/test_file.py
@@ -1,5 +1,6 @@
 from .utils import *
 import tempfile
+from odufrn_downloader.modules.File import odufrIOError
 
 
 class Group(unittest.TestCase):
@@ -25,8 +26,6 @@ class Group(unittest.TestCase):
     def test_can_print_exception_download_packages_from_file(self):
         """Verifica se dado um arquivo com nomes errados de pacotes
         lança-se exceção."""
-        assert_console(
-            lambda: self.ufrn_data.download_from_file(
-                'potato', './tmp'
-            )
-        )
+
+        with self.assertRaises(odufrIOError):
+            self.ufrn_data.download_from_file('potato', './tmp')

Criar classes de exception
# Feature

Hoje tratamos as exceptions de forma bem geral, porém poderíamos criar classes de exceção para nos auxiliarmos a lidar com os erros. Isso ajuda bastante nos testes, tornando-os mais assertivos, visto que o unittest tem a função ` assertRaises() `

> #### Participe do Hacktoberfest!
> Contribua com uma issue com a label `hacktoberfest` e abra um pull request durante o mês de outubro para ganhar os brindes do GitHub! Para se inscrever, acesse https://hacktoberfest.digitalocean.com/register
tests/test_file.py::Group::test_can_download_packages_from_file tests/test_file.py::Group::test_can_print_exception_download_packages_from_file