Commit 99c934eb authored by Alexandre.DeMasi's avatar Alexandre.DeMasi
Browse files

finition module 8 pour de vrai

parent 432314ac
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Gestion des Execeptions\n",
"\n",
"## Définition\n",
"Les exceptions sont des situations provoquées par une erreur d’exécution d’un programme. \n",
"Elle entraîne généralement un arrêt du programme car elle correspond à une situation qui \n",
"ne peut pas être prise en charge, exemple lire un fichier qui n’existe pas.\n",
"\n",
"Scala permet de gérer les exceptions, c’est à dire non pas de les\n",
"éviter, mais de les capturer (catch).\n",
"\n",
"Si une exception est générée, elle peut être capturée de façon à\n",
"proposer alors une façon de la gérer sous forme d’un bloc d’instructions\n",
"qui sera exécuté à la place du code qui a généré l’exception et éviter\n",
"ainsi un arrêt intempestif du programme.\n",
"\n",
"C’est au programmeur de gérer explicitement les exceptions et de\n",
"définir lui-même ce qui va se passer en cas d’exception.\n",
"\n",
"## Clauses \n",
"\n",
"La gestion des exceptions se fait à l’aide d’un __try-catch__.\n",
"La clause __try__ va permettre de délimiter le bloc d’instruction susceptible de\n",
"lever une exception. La clause __catch__ va permettre de capturer les exceptions et de les gérer en\n",
"proposant un bloc d’instructions alternatif qui sera exécuté à la place du\n",
"code qui a provoqué l’exception.\n",
"\n",
"\n",
"Dans le cas de la lecture d’un fichier qui n’existe pas, l’erreur est probablement liée\n",
"à une mauvaise saisie du nom du fichier par l’utilisateur. Si l’exception de fichier\n",
"introuvable est levée, le traitement alternatif pourra consister à saisir à nouveau le\n",
"nom du fichier en indiquant à l’utilisateur qu’il s’est trompé.\n",
"\n",
"En général un bloc d’instructions est susceptible de provoquer plusieurs\n",
"exceptions (c’est à dire qu’il peut y avoir plusieurs types d’erreurs possibles)\n",
"qui nécessiteront des traitements différents. La clause __catch__ est associée à\n",
"l’instruction conditionnelle case.\n",
"\n",
"Cette instruction permet de gérer plusieurs situations pour une expression et\n",
"proposer plusieurs alternatives (contrairement au if qui ne peur gérer qu’une seule\n",
"situation pour deux alternatives).\n",
"\n",
"On peut « lire » un __try-catch__ de la façon suivante: essayer(try) ce bloc\n",
"de code et attraper(catch) les exception si elles se produisent.\n",
"\n",
"La forme __try-catch__ peut s’étendre en __try-catch-finally__. La clause __finally__\n",
"permet de définir un 3 ème bloc d’instructions qui seront exécutées qu’il\n",
"y ait une exception ou pas. Cette clause est facultative.\n",
"\n",
"## En Scala "
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Problème d'exécution\n",
"Clause facultative\n"
]
}
],
"source": [
"try {\n",
"var a = 1/0 //bloc d’instructions pouvant provoquer des exceptions\n",
"}\n",
"catch {\n",
"case _=> println(\"Problème d'exécution\")// case gérant les différentes exceptions possibles\n",
"}\n",
"finally {\n",
"println(\"Clause facultative\")// bloc d’instructions à exécuter dans tous les cas, exceptions ou pas\n",
"}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Le __case__ _ permet de définir que c'est pour tout type d'erreur. Il est possible d'ajouter d'autre type d'erreur comme java.io.FileNotFoundException pour les erreurs de fichier inexistants.\n",
"\n",
"Forme du catch :\n",
"\n",
"catch {\n",
"\n",
"case ex : java.io.FileNotFoundException => println(\"ce fichier n'existe pas »)\n",
"\n",
"case ex : java.io.IOException => println(\"erreur d'entrée sortie\")\n",
"}\n",
"\n",
"- ex est la variable correspondant à l’exception générée.\n",
"- java.io.FileNotFoundException et java.io.IOException sont les deux types d’exceptions pouvant être généré dans cette situation.\n",
"- Chaque case correspond à une situation, c’est à dire à un type d’exception.\n",
"- Chaque instruction ou bloc d’instructions à exécuter pour chaque situation suit le __=>__\n",
"\n",
"\n",
"Les exceptions sont organisées en classe et sous-classes. La classe principale est la classe Exception.\n",
"\n",
"- java.io.FileNotFoundException\n",
" - Tentative d’ouvrir un fichier qui n’existe pas ou n’est pas accessible\n",
" - https://docs.oracle.com/javase/8/docs/api/java/io/FileNotFoundException.html\n",
"\n",
"- java.io.IOException\n",
" - Erreur d’entrée/sortie\n",
" - https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html\n",
"\n",
"- java.nio.file.AccessDeniedException\n",
" - Tentative de réaliser une opération non autorisée dans le système de fichiers (par exemple lire un fichier dont l’accès lecture est bloqué)\n",
" - https://docs.oracle.com/javase/8/docs/api/java/nio/file/AccessDeniedException.html\n",
"\n",
"- java.lang.IllegalArgumentException\n",
" - Quand un paramètre illégal ou inapproprié a été passe à une méthode\n",
" - https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html\n",
"\n",
"- java.lang.NumberFormatException\n",
" - Tentative de convertir un String en valeur de type numérique alors que la valeur du String ne correspond pas à une valeur numérique (et ne peut donc pas être convertie)\n",
" - https://docs.oracle.com/javase/8/docs/api/java/lang/NumberFormatException.html"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Scala",
"language": "scala",
"name": "scala"
},
"language_info": {
"codemirror_mode": "text/x-scala",
"file_extension": ".scala",
"mimetype": "text/x-scala",
"name": "scala",
"nbconvert_exporter": "script",
"version": "2.12.8"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
%% Cell type:markdown id: tags:
# Gestion des Execeptions
## Définition
Les exceptions sont des situations provoquées par une erreur d’exécution d’un programme.
Elle entraîne généralement un arrêt du programme car elle correspond à une situation qui
ne peut pas être prise en charge, exemple lire un fichier qui n’existe pas.
Scala permet de gérer les exceptions, c’est à dire non pas de les
éviter, mais de les capturer (catch).
Si une exception est générée, elle peut être capturée de façon à
proposer alors une façon de la gérer sous forme d’un bloc d’instructions
qui sera exécuté à la place du code qui a généré l’exception et éviter
ainsi un arrêt intempestif du programme.
C’est au programmeur de gérer explicitement les exceptions et de
définir lui-même ce qui va se passer en cas d’exception.
## Clauses
La gestion des exceptions se fait à l’aide d’un __try-catch__.
La clause __try__ va permettre de délimiter le bloc d’instruction susceptible de
lever une exception. La clause __catch__ va permettre de capturer les exceptions et de les gérer en
proposant un bloc d’instructions alternatif qui sera exécuté à la place du
code qui a provoqué l’exception.
Dans le cas de la lecture d’un fichier qui n’existe pas, l’erreur est probablement liée
à une mauvaise saisie du nom du fichier par l’utilisateur. Si l’exception de fichier
introuvable est levée, le traitement alternatif pourra consister à saisir à nouveau le
nom du fichier en indiquant à l’utilisateur qu’il s’est trompé.
En général un bloc d’instructions est susceptible de provoquer plusieurs
exceptions (c’est à dire qu’il peut y avoir plusieurs types d’erreurs possibles)
qui nécessiteront des traitements différents. La clause __catch__ est associée à
l’instruction conditionnelle case.
Cette instruction permet de gérer plusieurs situations pour une expression et
proposer plusieurs alternatives (contrairement au if qui ne peur gérer qu’une seule
situation pour deux alternatives).
On peut « lire » un __try-catch__ de la façon suivante: essayer(try) ce bloc
de code et attraper(catch) les exception si elles se produisent.
La forme __try-catch__ peut s’étendre en __try-catch-finally__. La clause __finally__
permet de définir un 3 ème bloc d’instructions qui seront exécutées qu’il
y ait une exception ou pas. Cette clause est facultative.
## En Scala
%% Cell type:code id: tags:
``` scala
try {
var a = 1/0 //bloc d’instructions pouvant provoquer des exceptions
}
catch {
case _=> println("Problème d'exécution")// case gérant les différentes exceptions possibles
}
finally {
println("Clause facultative")// bloc d’instructions à exécuter dans tous les cas, exceptions ou pas
}
```
%%%% Output: stream
Problème d'exécution
Clause facultative
%% Cell type:markdown id: tags:
Le __case__ _ permet de définir que c'est pour tout type d'erreur. Il est possible d'ajouter d'autre type d'erreur comme java.io.FileNotFoundException pour les erreurs de fichier inexistants.
Forme du catch :
catch {
case ex : java.io.FileNotFoundException => println("ce fichier n'existe pas »)
case ex : java.io.IOException => println("erreur d'entrée sortie")
}
- ex est la variable correspondant à l’exception générée.
- java.io.FileNotFoundException et java.io.IOException sont les deux types d’exceptions pouvant être généré dans cette situation.
- Chaque case correspond à une situation, c’est à dire à un type d’exception.
- Chaque instruction ou bloc d’instructions à exécuter pour chaque situation suit le __=>__
Les exceptions sont organisées en classe et sous-classes. La classe principale est la classe Exception.
- java.io.FileNotFoundException
- Tentative d’ouvrir un fichier qui n’existe pas ou n’est pas accessible
- https://docs.oracle.com/javase/8/docs/api/java/io/FileNotFoundException.html
- java.io.IOException
- Erreur d’entrée/sortie
- https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html
- java.nio.file.AccessDeniedException
- Tentative de réaliser une opération non autorisée dans le système de fichiers (par exemple lire un fichier dont l’accès lecture est bloqué)
- https://docs.oracle.com/javase/8/docs/api/java/nio/file/AccessDeniedException.html
- java.lang.IllegalArgumentException
- Quand un paramètre illégal ou inapproprié a été passe à une méthode
- https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html
- java.lang.NumberFormatException
- Tentative de convertir un String en valeur de type numérique alors que la valeur du String ne correspond pas à une valeur numérique (et ne peut donc pas être convertie)
- https://docs.oracle.com/javase/8/docs/api/java/lang/NumberFormatException.html
## Try/Catch
Vous allez devoir répondre à un quiz sur les exceptions en Scala.
Seuil de réussite: 80%
Fonction du quiz: Formative
Q1 : Laquelle des clauses est facultative ?
Type de question: Réponses correctes unique
Réponses :
- catch Incorrect -> catch est obligatoire.
- try Incorrect -> try est obligatoire.
- finally Correct -> finally est factultative.
Q2 : Dans quel ordre s'utilisent les clauses pour gérer les exceptions ?
Type de question: Réponses correctes multiples
Réponses :
- catch->finally->try Incorrect -> Faux, try doit être en première position.
- try->finally-catch Incorrect -> Faux, catch doit être placé avant finally.
- try->catch->finally Correct -> Vrai, c'est l'ordre classique avec la clause facultative.
- try->catch Correct -> Vrai, c'est l'ordre classique
Q3 : Dans quel cas utiliser la gestion des exceptions ?
Type de question: Réponses correctes multiples
Réponses :
- Pour accéder (lire/écrire) à un fichier dont l'existence n'est pas certaine. Correct -> Vrai, c'est l'erreur java.io.FileNotFoundException
- Lors d'une conversion d'une variable String en valeur numérique alors que la variable ne correspond pas à une valeur numérique. -> Vrai, c'est l'erreur java.lang.NumberFormatException.
- Pour tester si une variable est un fichier. -> Faux, il faut regarder le type de la variable.
Q4 : Dans la clause catch, que indique "_" ?
Type de question: Réponses correctes unique
Réponses :
- Instruction a exécuté si la clause try inclut une erreur d'ouverture de fichier. -> Faux, c'est la condition générale, l'erreur d'ouverture de fichier est java.io.FileNotFoundException.
- Instruction a exécuté si la clause try inclut une erreur d'un type non spécifique (cas général). -> Vrai, c'est la condition générale.
- Instruction a exécuté si la clause try inclut une erreur d'accès à un fichier protégé. -> Faux, c'est la condition générale, l'erreur d'accès à un fichier protégé est java.nio.file.AccessDeniedException.
Q5 : Que permet de faire la clause catch ?
Type de question: Réponses correctes unique
Réponses :
- Elle permet de tester l'exécution d'une instruction sur une variable. -> Faux.
- Elle permet d'attraper les erreurs. -> Vrai.
- Elle permet de lire un fichier texte. -> Faux.
\ No newline at end of file
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Gestion des Execeptions\n",
"\n",
"## Définition\n",
"Les exceptions sont des situations provoquées par une erreur d’exécution d’un programme. \n",
"Elle entraîne généralement un arrêt du programme car elle correspond à une situation qui \n",
"ne peut pas être prise en charge, exemple lire un fichier qui n’existe pas.\n",
"\n",
"Scala permet de gérer les exceptions, c’est à dire non pas de les\n",
"éviter, mais de les capturer (catch).\n",
"\n",
"Si une exception est générée, elle peut être capturée de façon à\n",
"proposer alors une façon de la gérer sous forme d’un bloc d’instructions\n",
"qui sera exécuté à la place du code qui a généré l’exception et éviter\n",
"ainsi un arrêt intempestif du programme.\n",
"\n",
"C’est au programmeur de gérer explicitement les exceptions et de\n",
"définir lui-même ce qui va se passer en cas d’exception.\n",
"\n",
"## Clauses \n",
"\n",
"La gestion des exceptions se fait à l’aide d’un __try-catch__.\n",
"La clause __try__ va permettre de délimiter le bloc d’instruction susceptible de\n",
"lever une exception. La clause __catch__ va permettre de capturer les exceptions et de les gérer en\n",
"proposant un bloc d’instructions alternatif qui sera exécuté à la place du\n",
"code qui a provoqué l’exception.\n",
"\n",
"\n",
"Dans le cas de la lecture d’un fichier qui n’existe pas, l’erreur est probablement liée\n",
"à une mauvaise saisie du nom du fichier par l’utilisateur. Si l’exception de fichier\n",
"introuvable est levée, le traitement alternatif pourra consister à saisir à nouveau le\n",
"nom du fichier en indiquant à l’utilisateur qu’il s’est trompé.\n",
"\n",
"En général un bloc d’instructions est susceptible de provoquer plusieurs\n",
"exceptions (c’est à dire qu’il peut y avoir plusieurs types d’erreurs possibles)\n",
"qui nécessiteront des traitements différents. La clause __catch__ est associée à\n",
"l’instruction conditionnelle case.\n",
"\n",
"Cette instruction permet de gérer plusieurs situations pour une expression et\n",
"proposer plusieurs alternatives (contrairement au if qui ne peur gérer qu’une seule\n",
"situation pour deux alternatives).\n",
"\n",
"On peut « lire » un __try-catch__ de la façon suivante: essayer(try) ce bloc\n",
"de code et attraper(catch) les exception si elles se produisent.\n",
"\n",
"La forme __try-catch__ peut s’étendre en __try-catch-finally__. La clause __finally__\n",
"permet de définir un 3 ème bloc d’instructions qui seront exécutées qu’il\n",
"y ait une exception ou pas. Cette clause est facultative.\n",
"\n",
"## En Scala "
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Problème d'exécution\n",
"Clause facultative\n"
]
}
],
"source": [
"try {\n",
"var a = 1/0 //bloc d’instructions pouvant provoquer des exceptions\n",
"}\n",
"catch {\n",
"case _=> println(\"Problème d'exécution\")// case gérant les différentes exceptions possibles\n",
"}\n",
"finally {\n",
"println(\"Clause facultative\")// bloc d’instructions à exécuter dans tous les cas, exceptions ou pas\n",
"}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Le __case__ _ permet de définir que c'est pour tout type d'erreur. Il est possible d'ajouter d'autre type d'erreur comme java.io.FileNotFoundException pour les erreurs de fichier inexistants.\n",
"\n",
"Forme du catch :\n",
"\n",
"catch {\n",
"\n",
"case ex : java.io.FileNotFoundException => println(\"ce fichier n'existe pas »)\n",
"\n",
"case ex : java.io.IOException => println(\"erreur d'entrée sortie\")\n",
"}\n",
"\n",
"- ex est la variable correspondant à l’exception générée.\n",
"- java.io.FileNotFoundException et java.io.IOException sont les deux types d’exceptions pouvant être généré dans cette situation.\n",
"- Chaque case correspond à une situation, c’est à dire à un type d’exception.\n",
"- Chaque instruction ou bloc d’instructions à exécuter pour chaque situation suit le __=>__\n",
"\n",
"\n",
"Les exceptions sont organisées en classe et sous-classes. La classe principale est la classe Exception.\n",
"\n",
"- java.io.FileNotFoundException\n",
" - Tentative d’ouvrir un fichier qui n’existe pas ou n’est pas accessible\n",
" - https://docs.oracle.com/javase/8/docs/api/java/io/FileNotFoundException.html\n",
"\n",
"- java.io.IOException\n",
" - Erreur d’entrée/sortie\n",
" - https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html\n",
"\n",
"- java.nio.file.AccessDeniedException\n",
" - Tentative de réaliser une opération non autorisée dans le système de fichiers (par exemple lire un fichier dont l’accès lecture est bloqué)\n",
" - https://docs.oracle.com/javase/8/docs/api/java/nio/file/AccessDeniedException.html\n",
"\n",
"- java.lang.IllegalArgumentException\n",
" - Quand un paramètre illégal ou inapproprié a été passe à une méthode\n",
" - https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html\n",
"\n",
"- java.lang.NumberFormatException\n",
" - Tentative de convertir un String en valeur de type numérique alors que la valeur du String ne correspond pas à une valeur numérique (et ne peut donc pas être convertie)\n",
" - https://docs.oracle.com/javase/8/docs/api/java/lang/NumberFormatException.html"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Scala",
"language": "scala",
"name": "scala"
},
"language_info": {
"codemirror_mode": "text/x-scala",
"file_extension": ".scala",
"mimetype": "text/x-scala",
"name": "scala",
"nbconvert_exporter": "script",
"version": "2.12.8"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
%% Cell type:markdown id: tags:
# Gestion des Execeptions
## Définition
Les exceptions sont des situations provoquées par une erreur d’exécution d’un programme.
Elle entraîne généralement un arrêt du programme car elle correspond à une situation qui
ne peut pas être prise en charge, exemple lire un fichier qui n’existe pas.
Scala permet de gérer les exceptions, c’est à dire non pas de les
éviter, mais de les capturer (catch).
Si une exception est générée, elle peut être capturée de façon à
proposer alors une façon de la gérer sous forme d’un bloc d’instructions
qui sera exécuté à la place du code qui a généré l’exception et éviter
ainsi un arrêt intempestif du programme.
C’est au programmeur de gérer explicitement les exceptions et de
définir lui-même ce qui va se passer en cas d’exception.
## Clauses
La gestion des exceptions se fait à l’aide d’un __try-catch__.
La clause __try__ va permettre de délimiter le bloc d’instruction susceptible de
lever une exception. La clause __catch__ va permettre de capturer les exceptions et de les gérer en
proposant un bloc d’instructions alternatif qui sera exécuté à la place du
code qui a provoqué l’exception.
Dans le cas de la lecture d’un fichier qui n’existe pas, l’erreur est probablement liée
à une mauvaise saisie du nom du fichier par l’utilisateur. Si l’exception de fichier
introuvable est levée, le traitement alternatif pourra consister à saisir à nouveau le
nom du fichier en indiquant à l’utilisateur qu’il s’est trompé.
En général un bloc d’instructions est susceptible de provoquer plusieurs
exceptions (c’est à dire qu’il peut y avoir plusieurs types d’erreurs possibles)
qui nécessiteront des traitements différents. La clause __catch__ est associée à
l’instruction conditionnelle case.
Cette instruction permet de gérer plusieurs situations pour une expression et
proposer plusieurs alternatives (contrairement au if qui ne peur gérer qu’une seule
situation pour deux alternatives).
On peut « lire » un __try-catch__ de la façon suivante: essayer(try) ce bloc
de code et attraper(catch) les exception si elles se produisent.
La forme __try-catch__ peut s’étendre en __try-catch-finally__. La clause __finally__
permet de définir un 3 ème bloc d’instructions qui seront exécutées qu’il
y ait une exception ou pas. Cette clause est facultative.
## En Scala
%% Cell type:code id: tags:
``` scala
try {
var a = 1/0 //bloc d’instructions pouvant provoquer des exceptions
}
catch {
case _=> println("Problème d'exécution")// case gérant les différentes exceptions possibles
}
finally {
println("Clause facultative")// bloc d’instructions à exécuter dans tous les cas, exceptions ou pas
}
```
%%%% Output: stream
Problème d'exécution
Clause facultative
%% Cell type:markdown id: tags:
Le __case__ _ permet de définir que c'est pour tout type d'erreur. Il est possible d'ajouter d'autre type d'erreur comme java.io.FileNotFoundException pour les erreurs de fichier inexistants.
Forme du catch :
catch {
case ex : java.io.FileNotFoundException => println("ce fichier n'existe pas »)
case ex : java.io.IOException => println("erreur d'entrée sortie")
}
- ex est la variable correspondant à l’exception générée.
- java.io.FileNotFoundException et java.io.IOException sont les deux types d’exceptions pouvant être généré dans cette situation.
- Chaque case correspond à une situation, c’est à dire à un type d’exception.
- Chaque instruction ou bloc d’instructions à exécuter pour chaque situation suit le __=>__
Les exceptions sont organisées en classe et sous-classes. La classe principale est la classe Exception.
- java.io.FileNotFoundException
- Tentative d’ouvrir un fichier qui n’existe pas ou n’est pas accessible
- https://docs.oracle.com/javase/8/docs/api/java/io/FileNotFoundException.html
- java.io.IOException
- Erreur d’entrée/sortie
- https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html
- java.nio.file.AccessDeniedException
- Tentative de réaliser une opération non autorisée dans le système de fichiers (par exemple lire un fichier dont l’accès lecture est bloqué)
- https://docs.oracle.com/javase/8/docs/api/java/nio/file/AccessDeniedException.html
- java.lang.IllegalArgumentException
- Quand un paramètre illégal ou inapproprié a été passe à une méthode
- https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html
- java.lang.NumberFormatException
- Tentative de convertir un String en valeur de type numérique alors que la valeur du String ne correspond pas à une valeur numérique (et ne peut donc pas être convertie)
- https://docs.oracle.com/javase/8/docs/api/java/lang/NumberFormatException.html
## Try/Catch
Vous allez devoir répondre à un quiz sur les exceptions en Scala.
Seuil de réussite: 80%
Fonction du quiz: Formative
Q1 : Laquelle des clauses est facultative ?
Type de question: Réponses correctes unique
Réponses :
- catch Incorrect -> catch est obligatoire.
- try Incorrect -> try est obligatoire.
- finally Correct -> finally est factultative.
Q2 : Dans quel ordre s'utilisent les clauses pour gérer les exceptions ?
Type de question: Réponses correctes multiples
Réponses :
- catch->finally->try Incorrect -> Faux, try doit être en première position.
- try->finally-catch Incorrect -> Faux, catch doit être placé avant finally.
- try->catch->finally Correct -> Vrai, c'est l'ordre classique avec la clause facultative.
- try->catch Correct -> Vrai, c'est l'ordre classique
Q3 : Dans quel cas utiliser la gestion des exceptions ?
Type de question: Réponses correctes multiples
Réponses :
- Pour accéder (lire/écrire) à un fichier dont l'existence n'est pas certaine. Correct -> Vrai, c'est l'erreur java.io.FileNotFoundException
- Lors d'une conversion d'une variable String en valeur numérique alors que la variable ne correspond pas à une valeur numérique. -> Vrai, c'est l'erreur java.lang.NumberFormatException.
- Pour tester si une variable est un fichier. -> Faux, il faut regarder le type de la variable.
Q4 : Dans la clause catch, que indique "_" ?
Type de question: Réponses correctes unique
Réponses :
- Instruction a exécuté si la clause try inclut une erreur d'ouverture de fichier. -> Faux, c'est la condition générale, l'erreur d'ouverture de fichier est java.io.FileNotFoundException.
- Instruction a exécuté si la clause try inclut une erreur d'un type non spécifique (cas général). -> Vrai, c'est la condition générale.
- Instruction a exécuté si la clause try inclut une erreur d'accès à un fichier protégé. -> Faux, c'est la condition générale, l'erreur d'accès à un fichier protégé est java.nio.file.AccessDeniedException.
Q5 : Que permet de faire la clause catch ?
Type de question: Réponses correctes unique
Réponses :
- Elle permet de tester l'exécution d'une instruction sur une variable. -> Faux.
- Elle permet d'attraper les erreurs. -> Vrai.
- Elle permet de lire un fichier texte. -> Faux.
\ No newline at end of file