【 Flutter 】Flutter を 基礎 から 学習 ( Dart編 ) part11 例外

基礎 から 学ぶ Flutter 」という書籍で  学習 したことを ブログでアウトプットしていこうと思います。今回は Dart編 ( part11 )です。

前回

【 Flutter 】Flutter を 基礎 から 学習 ( Dart編 ) part10 関数

今回から関数の学習になります。

例外

例外とは予期しない問題が発生したことを表す言葉です。

DartはC#やJavaのようにこの「例外」をコントロールすることができます。
例えば「ファイルを読み込みたいのにファイルが無い!」なんて言う場合、なにも対処していないとDartの場合はプログラムが終了してしまうそうです。
例外をコントロールしていれば「〇〇ファイルが無いから□□ファイルを使う」という処理が可能になりプログラムを継続することができるようになります。

Dartは例外が発生するとIsolateという状態(オブジェクト?)はサスペンドし、プログラムが終了するとのこと。
Isolate??なんでしょうか🤔

こちらのページに解説ありました!わかりやすい(^^)/
Dart 2 Language Guide (cresc.co.jp)

抜粋させていただきます。

DartはJavaと違って単一スレッドである。しかしながら並行処理はアイソレート(isolate)を使って実現できる。これは通信の世界から生まれたEarlang言語の影響を強く受けたものである。アイソレートはマルチコアやマルチCPU環境にも拡大できる。現在総てのコンピュータ(例えモバイルのプラットホームにおいても)マルチコアのCPUが使われている。アイソレートは他のアイソレートとは資源(メモリ)を共有しないので、マルチ・スレッドに関わる複雑な競合問題(スレッド安全性問題)やコードの複雑化は存在しない。

なるほどスレッドに代わる新しい技術でしょうかね。
スレッドはすぐに複雑になるので大変です。この技術はそこを回避できるのでしょう!

最後に

例外のコントロールは一見すると地味な作業ですがアプリケーション開発では相当重要な機能です。
最近の言語はほとんど実装されているので理解はしているつもりでしたがIsolateのような新し技術もあったりするので
しっかり押さえておきたいですね。

今日はここまで!