プログラミング、フリーダイビング、ブロックチェーンのブログ

プログラミング道場

私がおすすめするプログラミング教材のまとめ【書籍と動画】

プログラミング言語 スクリプト言語 コンパイル言語 アプリ開発 サーバー、インフラ、セキュリティなど 機械学習系 ゲーム開発 データベース 子供向け デザイン その他 おまけ まとめ この記事では、様々な書籍を紹介しました。 是非、自分に合 ...

続きを見る

【Dart入門】例外処理の説明

投稿日:

記事の内容


この記事では、Dartの例外処理について説明します。

Exceptionとは何か?

プログラムの実行中に発生するエラーのことを例外といいます。
Dartでは、この例外をExceptionクラスで扱います。

具体的には、こういったことが例外と言われます。

  • データベースに接続ができない
  • Web APIにアクセスできない
  • ファイルシステムのI/Oエラー

Exceptionの種類

実行時エラー

  • DeferredLoadException
  • FormatException
  • IntegerDivisionByZeroException
  • IOException
  • IsolateSpawnException
  • TimeoutException

プログラムに問題があった場合

  • AbstractClassInstantiationError
  • ArgumentError
  • AssertionError
  • AsyncError
  • CastError
  • ConcurrentModificationError
  • CyclicInitializationError
  • FallThroughError
  • JsonUnsupportedObjectError
  • NoSuchMethodError
  • NullThrownError
  • OutOfMemoryError
  • RemoteError
  • StackOverflowError
  • StateError
  • UnimplementedError
  • UnsupportedError

Exceptionの使用方法

例外を投げるには、「throw」というキーワードを使います。
そして、その例外を捕捉するには、例外が投げられるコードをtryブロックで囲み、それに対応する「catchブロックとonブロック」を記述します。
そして、finallyは、例外が起きても起きなくても必ず実行されます。
なお、tryの中にある「throw」が発生した場合、「throw」以降のプログラムは読み込まれません。

では、実際に例を見ていきたいと思います。

基本的なtryの使い方

エラーが出ない場合

普通に10が表示されます。

エラーが出る場合

10は表示されずに、catch句の中でエラーが表示されます。

エラーの詳細を知りたい場合

catchの第2引数には、スタックトレース(エラーの詳細)を指定することができます。

finally句

エラーが発生する、しないに関わらず実行したい処理がある場合には「finally」を使います。
開いたファイルを閉じたい場合や、DBの接続を切りたい時には、finallyを使うといいかもしれません。

独自の例外クラスを作成する方法

既存の例外クラスを継承して、独自の例外クラスを作成することもできます。

複数の例外クラスを扱う場合には、「on catch」を書く際に必ず子供の例外クラスから書くようにしましょう。
そうしないと、全ての例外を親例外クラスである「Exception」がcatchしてしまうので、細かく例外処理を記述する意味がなくなってしまいます。

Exceptionクラスを継承

まとめ

この記事では、Dartの例外処理について説明しました。
例外処理は複雑で、覚えなければいけないことは多くあります。
一つ一つ、順番に覚えていきましょう。

Good luck for your engineer life!

DartとFlutterをより詳しく勉強したい人は、この記事を読んで下さい

Dart
FlutterとDartの学習でおすすめの本と動画【2020年最新】

初心者向け Flutter モバイルアプリ開発バイブル Flutter開発の入門書です。 これから、アプリ開発を始めたい人にオススメの一冊です。 The Complete 2020 Flutter Development Bootcamp ...

続きを見る


SwiftでiOSアプリを開発したい人は、この記事を読んで下さい

Swiftの学習でおすすめの本と動画【2020年最新】

初心者向け 【6日で速習】iOS 13アプリ開発入門決定版 20個のアプリを作って学ぼう ▼今すぐ詳細を見てみる 地図検索、カメラ投稿、タイマー、日出時刻検索、ARアプリ、AIアプリなど実用アプリを20個以上作って学ぶことができます。 作り ...

続きを見る


KotlinでAndroidアプリを開発したい人は、この記事を読んで下さい

Kotlinの勉強でおすすめの本と動画【2020年最新】

初心者向け やさしいKotlin入門 プログラミング経験がない人にもオススメできる一冊です。 これ一冊で、アプリを作れるようにはなりませんが、Kotlinの楽しさを知るにはいい本だと思います^^ 速習 Kotlin: Javaより簡単!新A ...

続きを見る


Javaをより詳しく勉強したい人は、この記事を読んで下さい

Javaの学習でおすすめの本と動画【2020年最新】

初心者向け スッキリわかるJava入門 第3版 発売から8年であっという間に総計40万部到達した大人気シリーズの原点です。 Javaの入門書の定番で、わかりやすいことで評判です。 個人的には、「初心者を飽きさせない工夫」が素晴らしいと思いま ...

続きを見る


Gitをより詳しく勉強したい人は、この記事を読んで下さい

Gitの学習でおすすめの本と動画【2020年最新】

漫画?でわかりやすく学ぶ入門書の定番 わかばちゃんと学ぶGit使い方入門 Gitの入門書の定番と言っても差し支えありません。 絵や図で解説している本なので、わかりやすく頭に入ってきます。 初心者向け Gitが、おもしろいほどわかる基本の使い ...

続きを見る


ゼロからWebエンジニアになりたい人は、この記事を読んで下さい

ゼロからWebエンジニアとして就職する方法【何もない自分に積み上げていく】

ちまたには、「エンジニアになるための情報」で溢れかえっています。 ジョージさんが考える「Webエンジニアになる方法」を教えて下さい。 私が定義するWebエンジニア まず、最初に以下の図を見て下さい。 これが、Web業界で働く人達の大分類です ...

続きを見る


独学で実務っぽい経験を積みたい人は、この記事を読んで下さい

エンジニアが独学で実務経験っぽいことを学ぶ方法

エンジニアとして就職するためには実務経験が大事だと聞いていますが、就職しないことには実務経験を積むことができません。 どうやって、最初の実務経験を積んだらいいでしょうか? スクールの理想と現実 これからプログラミングを学ぼうとしている人が描 ...

続きを見る

関連コンテンツ

-Dart, プログラミング

Copyright© プログラミング道場 , 2020 All Rights Reserved Powered by AFFINGER4.