fatalErrorというものが気になって調べてみました。下記のサイトを参考にして、自分なりにまとめてみたいと思います。
参考サイト
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUUzJTgwJTkwU3dpZnQlRTMlODAlOTFmYXRhbEVycm9yJUU5JTk2JUEyJUU2JTk1JUIwJUUzJTgxJUFCJUUzJTgyJTg4JUUzJTgyJThCJUUzJTgzJTk3JUUzJTgzJUFEJUUzJTgyJUIwJUUzJTgzJUE5JUUzJTgzJUEwJUUzJTgxJUFFJUU3JUI1JTgyJUU0JUJBJTg2JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz00MmM0NWMzMmUwNmM3YzVlMDJiMGE1MjJiODc0YjQ2Ng&mark-x=142&mark-y=112&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwb25pc2hpXzgyMCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9YTFjYzkyZjI4YTcxMzRmYjY4MGM1NTcyNDFmOWVmNGM&blend-x=142&blend-y=491&blend-mode=normal&s=8a209566e35668ce43c3dc7eb1540921)
【Swift】fatalError関数によるプログラムの終了 - Qiita
#fatalError関数 とはOptional<Wrapped>型やResult<Success, Failure>型、do-catch文などのエラー処理を書くことにより、様々なメリットがあり…
fatalErrorはエラーが発生した時に、指定したメッセージをログに表示して、プログラムを強制終了させる関数ということがわかりました。
なぜ私が気になったのかというと、CoreDataを使用するアプリを開発している時に、AppDelegate.swiftのファイルの中に気になるコメントがありました。Core Data stackについて記述があるコードの中にコメントアウトしてありました。
// Replace this implementation with code to handle the error appropriately.
// fatalError() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
fatalErrorはクラッシュログを生成してアプリを終了してしまうので、開発中に使用するのは良いが、アプリをリリースするときは、使用するのは好ましくないという文言が気になりました。しかしどのように書き換えていいのかわからないので、私はそのままにしてあります。