再現した。基礎的な例外処理をわかってないプログラマーか。この状態になるとアプリを削除して再インストールしても、エラーが出て落ち続けてしまう。しかもiOSの設定でそれをオンにしようとしても、アプリがないとなって設定変更できない。詰ん… https://t.co/Wyoy7bnb4p
タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
はじめに 最近書いてるソフトウェア設計シリーズです。今回は例外に関して。以前、以下のような記事を書いたのですが、もう少し深堀して書いてみました。 ちなみにソフトウェア設計シリーズは他には以下を書いています。 モジュールになぜ分けるのか? モジュール、依存、そしてカプセル化 モジュールをどう分割するのか? 簡潔さは力なり? 予測可能な振る舞いと簡潔さについて ドキュメントとしてのコメント TL;DR 例外は「原則」キャッチしない 業務例外や必ずハンドリングさせたい例外はOptionalなど戻り値の方が便利 だいたい以下の図が言いたい事のすべて 例外処理とは? 「例外処理(Exception Handling)」は言語に依らず普遍的な関心事です。端的に言えば例外処理は異常やシステムの動作に不備が発生した際の特別な分岐処理です。リカバリやリソースの解放、あるいはユーザへの通知などがありますね。
はじめに はじめまして。インターンをしているイナです。 今回は初心者がGo言語の例外処理がないって本当なの?という部分について概念を中心に調べたものをまとめました。 Q. 例外処理とは まずは兎にも角にも、例外処理とはなんぞやってところからです。 いくつかのサイトで例外処理の定義について調べてみましたが、サイトによって言ってることはバラバラでした。 例外とエラーは一緒です or 違います!例外は想定外 or 想定内&想定外のエラーのことです!など人によって言ってることが違いました。 最初から壁が高すぎ...?と戦々恐々としていましたが、IT用語辞典 e-Wordで気になる部分がありました。 例外は「エラー」(error)と同種の概念で、普遍的に成り立つ両者の明確な違いは無く、同義として扱われる場合が多い。ただし、プログラミング言語や処理系によっては両者に異なる意味合いが与えられている場合も
導入 TwitterのTLでヤスハラユウジさんのポッドキャストが流れてきたので聞いてみました。 voicy.jp 「ゲームプログラミングでは例外処理の実装は不要なのでは?」というお題で、興味深く拝聴しました。7分弱の音源なのでみなさんも是非お聞きください。 内容について直接の意見はありません。土屋もUnityでコード書いている時にtry-catchを書く事は無いと思います。秒間60フレームで処理してる時にメモリ確保に失敗して例外が送出された時、対応しようがあるとはちょっと想像できません(例外処理してもしなくてもアプリは落ちるんじゃないかと思います)。 ただ、「try-catchを書かない事」と「例外処理をしない事」は別の話です。try-catchは例外処理という機構の一部に過ぎず、我々ゲームプログラマも日常的に例外処理コードを書いているんだよという話を書いておこうと思います。 例外処理≒実
プログラミング言語Rubyの国内最大級のカンファレンス「RubyKaigi」。「RubyKaigi 2022」のKeynoteで登壇したのは、齋藤優太氏。「Ruby meets WebAssembly」のテーマで、WebAssembly上でRubyが動くようになった経緯、テクニック、ユースケースについて発表しました。全2回。後半は、WebAssemblyのユースケースについて。前回はこちら。 WASIでCRubyをWebAssemblyにポートする方法 齋藤優太氏:ここまでが前半戦で、ここからどうやってCRubyをWebAssemblyにポートしたかを紹介します。 CRubyはCで書かれたプログラムなので、すでにいろいろな環境にポートされています。このCRubyのソースコードは、かなりポータブルに書かれているので、CからWasmにコンパイルするコンパイラもあるしポーティングは簡単だなと。
弊社(トラストハブ)では、バックエンドのプログラミング言語として TypeScript、ウェブフレームワークとしてNestJSを採用しています。本記事では、NestJSの特長を生かした、実際に弊社で採用されている例外処理の戦略について述べます。 その try-catch、意味がありますか? TypeScriptのコードにおいて、try-catch が使われている場面をたびたび見かけます。 try-catch で囲う意図としては以下のようなものがあると思います。 例外をハンドリングすることで処理を継続したい。 例外の型によって処理を分岐したい。 例外の内容をログに出力したい。 例外をハンドリングする必要がありますか 例外は、例外的な状態なので例外なのです。 例外が発生した多くの場合、書かれたコードでは処理を継続できない状況が発生します。処理を継続できない状況において、例外を catch して
代表的な例外 TypeError 例:TypeError: unsupported operand type(s) for /: 'str' and 'int' String型を計算しようとしたときなどに起きるエラー ZeroDivisionError 例:ZeroDivisionError: division by zero 1/0のようにゼロで割ってしまったときに起きるエラー NameError 例:NameError: name 'hoge' is not defined 定義していない変数を使ったときに起きるエラー AttributeError 例:AttributeError: type object ‘list’ has no attribute 'fuga' 存在しない属性にアクセスしようとしたときに起きるエラー Pythonの例外処理ルール try: 括ったコードを例外処理
STORES でソフトウェアエンジニアをやっております @morihirok です。タイトルの通り先日行われた東京Ruby会議12で登壇しました。 regional.rubykaigi.org 発表資料はこちらとなります。 speakerdeck.com STORES は Sliver Sponsors として協賛させていただきました。 会自体すごく大盛況で、前夜祭から懇親会まで含めてめちゃくちゃ楽しかったです!オーガナイザー、スタッフのみなさま、素晴らしい会を本当にありがとうございました! 今回「Regional.rb and the Tokyo Metropolis」というタイトルで東京圏の地域.rbオーガナイザーが集結するイベントがあり、印象に残っている方も多いんじゃないかなと思うのですが、それを見ながら自分の中で生まれていたストーリーがあるのでついでにその話だけさせてください。 東
問題: コントローラで例外処理している アプリケーションが扱うドメイン特有のエラーを例外として表現する場合に、その例外をコントローラで処理するコードを書くと、ほとんどの場合でコードが読みにくくなったり、コードを変更しづらくなったりする結果となる。そして、開発の効率が落ちたり不具合を作りやすくなったりする。 具体的な問題は次のとおり。 コントローラのアクションの凝集度が下がる コントローラのアクションに、たとえば複数の決済方法のエラーのような微妙に異なる種類の例外に対する処理を書くと、コントローラが肥大化し、凝集度が下がる。結果として、エラーが関わる変更を入れるときに、本来ビジネスロジックだけの変更であっても、コントローラとモデルの両方を必ず変更しなければならなくなる。また、関係の薄いさまざまな例外が1箇所で処理されることになり、コードが読みにくくなる。 class ChargesContr
こんにちは。倉内です。 プログラミング学習には、独学でもある程度習得できる内容と、実務を経験しないとなかなか難しい内容とがあります。 後者の代表的なもののひとつとして「例外処理」があげられます。趣味で作っている場合はあまり考慮しなくても問題ないかもしれませんが、実際にサービスとして提供するとなれば、避けては通れない課題です。 paizaラーニングでも学習講座を提供していますが、初学者の方にはあまり馴染みのない内容かもしれません。ただ、これから開発系のエンジニアへの就職・転職を目指してプログラミング学習をされている方は触れておいてもよいでしょう。 今回はどう例外処理のコードを書くか以前に、そもそも例外とはなにか、例外処理に対する考え方などもお伝えしていきます。 もちろん開発するシステムの規模や社会的影響度合い、採用する開発言語、プロジェクトの方針はさまざまで、一概には言えない部分はありますが
社内の「強い思想を語るLT会」で使用した資料です。 筆者はHaskellやF#、RustなどResult型ネイティブな言語が好みの人間なので、だいぶ偏った見方になっている点はご了承ください。 はじめに みなさん、Result型(Either型)ってご存知ですか? HaskellやElm、Rust、Kotlin、Swiftなどモダンと言われる言語には大体実装されている型です。 筆者は最近、理想のResult型ライブラリを求めて自作するに至りました。 どんな型? ざっくり表現すると処理に失敗する可能性があることを示す型です。 (Monadとか細かい話は置いておく) 言語やライブラリによって命名などが微妙に異なりますが、TypeScriptで示すとこんな感じになります。 // どれもやってることは同じ type Result<T, U> = Success<T> | Failure<U> //
try~catch文はJavaScriptにおける例外処理が記述できます。例外処理とは何なのか?どのような場面で使うのか?といった基本の知識から、実際の記述方法などについて、コードの実例とともに例外処理を初めて学習する初心者にもわかりやすいように解説していきます。 プログラムを実行する際にエラー(例外)が起こることがあります。通常はエラーが起こった際、そこでプログラムは止まります。しかし、実際の場面ではエラーが起こってもプログラムに止まって欲しくない場合もあります。そんな時に使えるのがtry~catch文です。 今回はJavaScriptでの例外処理に利用されるtry~catch文について、概要や使い方、デバッグに使用する方法などについて解説していきます。 JavaScriptで例外処理をおこなうtry~catch文とは try~catch文を使うことで、例外処理を記述できます。 例外処理
こんにちは、CX事業本部 IoT事業部の若槻です。 今回は、JavaScript Testing FrameworkであるJestで、例外処理のテストを実装してみました。 やってみた Jestでは、.toThrow()というMactherが用意されており、これを使用して例外処理の評価を行うことができます。 .toThrow(error?) - Expect · Jest toThrowError()は.toThrow()のエイリアスです。クラス、エラーメッセージ、インスタンスオブジェクトなどを評価対象として指定できます。 example function drinkFlavor(flavor) { if (flavor == 'octopus') { throw new DisgustingFlavorError('yuck, octopus flavor'); } // Do some
例外処理とは 例外処理とは、想定内のエラー(例外)が起きた時に、その内容に応じて実行される処理のことです。 なぜ、例外処理が必要なのかを説明すると、もしプログラムに適切な例外処理が実装されていない場合、プログラム実行中にエラーが発生してしまうと、意図しない構造のデータが保存されたり、異常終了してしまう事態を招きます。また、その時に発生したエラーを調査するのに時間がかかってしまいます。 ですが、適切な例外処理を実装していれば、データを整合性を保つ事ができ、簡単にかつデバッグしやすい信頼性の高いコードを組むことができます。もし例外が起きてしまっても原因の調査がしやすくなります。 このように、アプリケーションを作成するにあたって適切な例外処理の設計をすることは重要なポイントになります。 例外(エラー)を分類 例外(エラー)と一言で表現していますが、例外(エラー)には複数に分類する事ができます。そ
def raise_exception(): raise Exception("例外が発生しました") def main(): try: raise_exception() except Exception as e: print("Exception: {}".format(e)) if __name__ == "__main__": main() fn raise_exception() -> Result<(), String> { Err("例外が発生しました".to_string()) } fn main() { match raise_exception() { Ok(_) => println!("OK"), Err(e) => println!("Error: {}", e), } }
こんにちは、hachi8833です。RubyKaigi 2023の余韻がまだ身体に残っています。発表者の皆さま、スタッフとスポンサーの皆さま、参加者の皆さまお疲れさまでした。素晴らしいイベントをありがとうございます! 週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィード
TL;DR PowerShellのエラーハンドリングには、Terminating ErrorとNon-Terminating Errorとに対するものがある。 try-catchによる処理の仕方や、Non-Terminating Errorの起こし方、これの捕まえ方などのサンプルコードをメモっておく。 はじめに 以前の投稿(PowerShellで例外を捕まえられない)で、PowerShellを実行したときに出る例外(正確には「例外っぽいエラー出力」)を捕まえるにはErrorActionパラーメタを渡すか$ErrorActionPreference変数で制御するかすればよい的なことを書いたけど、今回はもう少し丁寧にどういうことなのか調べてみた。 エラーの種類 Terminating ErrorとNon-Terminating Errorがある。カンタンにいうと、 Terminating Er
WEBアプリケーションを作成する際、処理の途中でエラーが発生した場合に、特定のエラーページに遷移してエラーメッセージを表示したり、エラーログを出力したりする必要がある。 Spring BootのWEBアプリケーションにおいては、処理の途中で例外が発生した場合は、何もしなくても「resources/templates/error.html」に画面遷移するようになっている。また、RequestDispatcherFilterやErrorControllerによって、エラー時の画面遷移先を変えたり、エラーメッセージの文言を変えたり、エラーログの出力機能を追加したりすることもできる。 今回は、Filter内でエラーが発生した場合のサンプルプログラムを通して、Spring Bootの例外処理について共有する。Spring Bootデフォルトのエラー処理・RequestDispatcherを利用したエ
はじめに 自分は業務でC#を書いているのですが、今までかなりあやふやな知識で例外処理を使っていました。そこで、一度学びなおし、現時点での自分の中での「例外処理の利用方針」を固めておこうと思いました。 学びなおすために色々調べた結論としては、自分の知りたかった例外処理の利用方針は「++C++;」の「[雑記]例外の使い方」のページにとてもわかりやすくまとまっていました。 ただ上のページを読んだうえで自分の言葉でもまとめておきたかったので、上のページを大幅に参考にさせてもらいつつ、自分なりの解釈やコード例などを付け加えてまとめたのがこの記事となります。 この記事は個人の考えをまとめたものです。 この記事の内容はC#のバージョンについて特に意識していませんが、一部のコード例は古いバージョンのC#では使えない構文や機能を使っている可能性があります。 ++C++;で提案されている例外処理の利用方針 「
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く