Enviar pesquisa
Carregar
【アシアル塾】PHPオブジェクト指向再入門・第三回Exceptionクラスによる例外処理
•
7 gostaram
•
3,298 visualizações
アシアル株式会社
Seguir
PHP言語によるオブジェクト指向技術利用に関する入門資料です。 Exceptionによる例外処理について解説しています。
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 22
Baixar agora
Baixar para ler offline
Recomendados
【アシアル塾】PHPオブジェクト指向再入門・第二回クラスの継承と委譲
【アシアル塾】PHPオブジェクト指向再入門・第二回クラスの継承と委譲
アシアル株式会社
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
アシアル株式会社
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
アシアル株式会社
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
Yuki Okamoto
Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)
VOYAGE GROUP
理科大勉強会2
理科大勉強会2
Masataka Hashimoto
40分濃縮 PHP classの教室
40分濃縮 PHP classの教室
Yusuke Ando
PHP classの教室
PHP classの教室
Yusuke Ando
Recomendados
【アシアル塾】PHPオブジェクト指向再入門・第二回クラスの継承と委譲
【アシアル塾】PHPオブジェクト指向再入門・第二回クラスの継承と委譲
アシアル株式会社
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
アシアル株式会社
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
アシアル株式会社
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
【アシアル塾】PHPオブジェクト指向再入門・第一回クラスとオブジェクト
Yuki Okamoto
Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)
VOYAGE GROUP
理科大勉強会2
理科大勉強会2
Masataka Hashimoto
40分濃縮 PHP classの教室
40分濃縮 PHP classの教室
Yusuke Ando
PHP classの教室
PHP classの教室
Yusuke Ando
Php5 4勉強会
Php5 4勉強会
Yuji Otani
06 オブジェクト指向の基礎
06 オブジェクト指向の基礎
文樹 高橋
Web技術勉強会 20100925
Web技術勉強会 20100925
龍一 田中
今から始める Lens/Prism
今から始める Lens/Prism
Naoki Aoyama
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
leverages_event
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
kwatch
よいことも悪いこともぜんぶPHPが教えてくれた
よいことも悪いこともぜんぶPHPが教えてくれた
Moriyoshi Koizumi
JavaScriptクイックスタート
JavaScriptクイックスタート
Shumpei Shiraishi
Webシステム脆弱性LT資料
Webシステム脆弱性LT資料
Tomohito Adachi
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
Yuji Nojima
SlowQueryとの戦い
SlowQueryとの戦い
Ken Gotoh
ちょっと詳しくJavaScript 第3回【prototype】
ちょっと詳しくJavaScript 第3回【prototype】
株式会社ランチェスター
Getting started MySQL as Document Data Store
Getting started MySQL as Document Data Store
Chihiro Ito
Ruby 同好会宣言
Ruby 同好会宣言
Yuya Takeyama
20091030cakephphandson 02
20091030cakephphandson 02
Yusuke Ando
社内Java8勉強会 ラムダ式とストリームAPI
社内Java8勉強会 ラムダ式とストリームAPI
Akihiro Ikezoe
ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
Masatoshi Tada
jvmlang.daitokai 1.0.0 MinCamlJを作ってみた
jvmlang.daitokai 1.0.0 MinCamlJを作ってみた
Kazuyoshi Kamitsukasa
Gen-Template-for-Perl
Gen-Template-for-Perl
nasneg
Scala の関数型プログラミングを支える技術
Scala の関数型プログラミングを支える技術
Naoki Aoyama
pecl-AOPの紹介
pecl-AOPの紹介
Hiraku Nakano
はじめてのPowerShell
はじめてのPowerShell
Trainocate Japan, Ltd.
Mais conteúdo relacionado
Mais procurados
Php5 4勉強会
Php5 4勉強会
Yuji Otani
06 オブジェクト指向の基礎
06 オブジェクト指向の基礎
文樹 高橋
Web技術勉強会 20100925
Web技術勉強会 20100925
龍一 田中
今から始める Lens/Prism
今から始める Lens/Prism
Naoki Aoyama
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
leverages_event
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
kwatch
よいことも悪いこともぜんぶPHPが教えてくれた
よいことも悪いこともぜんぶPHPが教えてくれた
Moriyoshi Koizumi
JavaScriptクイックスタート
JavaScriptクイックスタート
Shumpei Shiraishi
Webシステム脆弱性LT資料
Webシステム脆弱性LT資料
Tomohito Adachi
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
Yuji Nojima
SlowQueryとの戦い
SlowQueryとの戦い
Ken Gotoh
ちょっと詳しくJavaScript 第3回【prototype】
ちょっと詳しくJavaScript 第3回【prototype】
株式会社ランチェスター
Getting started MySQL as Document Data Store
Getting started MySQL as Document Data Store
Chihiro Ito
Ruby 同好会宣言
Ruby 同好会宣言
Yuya Takeyama
20091030cakephphandson 02
20091030cakephphandson 02
Yusuke Ando
社内Java8勉強会 ラムダ式とストリームAPI
社内Java8勉強会 ラムダ式とストリームAPI
Akihiro Ikezoe
ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
Masatoshi Tada
jvmlang.daitokai 1.0.0 MinCamlJを作ってみた
jvmlang.daitokai 1.0.0 MinCamlJを作ってみた
Kazuyoshi Kamitsukasa
Gen-Template-for-Perl
Gen-Template-for-Perl
nasneg
Scala の関数型プログラミングを支える技術
Scala の関数型プログラミングを支える技術
Naoki Aoyama
Mais procurados
(20)
Php5 4勉強会
Php5 4勉強会
06 オブジェクト指向の基礎
06 オブジェクト指向の基礎
Web技術勉強会 20100925
Web技術勉強会 20100925
今から始める Lens/Prism
今から始める Lens/Prism
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
【SQLインジェクション対策】徳丸先生に怒られない、動的SQLの安全な組み立て方
よいことも悪いこともぜんぶPHPが教えてくれた
よいことも悪いこともぜんぶPHPが教えてくれた
JavaScriptクイックスタート
JavaScriptクイックスタート
Webシステム脆弱性LT資料
Webシステム脆弱性LT資料
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
SlowQueryとの戦い
SlowQueryとの戦い
ちょっと詳しくJavaScript 第3回【prototype】
ちょっと詳しくJavaScript 第3回【prototype】
Getting started MySQL as Document Data Store
Getting started MySQL as Document Data Store
Ruby 同好会宣言
Ruby 同好会宣言
20091030cakephphandson 02
20091030cakephphandson 02
社内Java8勉強会 ラムダ式とストリームAPI
社内Java8勉強会 ラムダ式とストリームAPI
ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
jvmlang.daitokai 1.0.0 MinCamlJを作ってみた
jvmlang.daitokai 1.0.0 MinCamlJを作ってみた
Gen-Template-for-Perl
Gen-Template-for-Perl
Scala の関数型プログラミングを支える技術
Scala の関数型プログラミングを支える技術
Semelhante a 【アシアル塾】PHPオブジェクト指向再入門・第三回Exceptionクラスによる例外処理
pecl-AOPの紹介
pecl-AOPの紹介
Hiraku Nakano
はじめてのPowerShell
はじめてのPowerShell
Trainocate Japan, Ltd.
20180123 power shell
20180123 power shell
Trainocate Japan, Ltd.
「Html sql」で図書館hpにアクセスしてみよう
「Html sql」で図書館hpにアクセスしてみよう
Kentaro Matsui
Javaプログラミング入門【第6回】
Javaプログラミング入門【第6回】
Yukiko Kato
Cakephpstudy5 hacks jp
Cakephpstudy5 hacks jp
Hiroki Shimizu
ClassLoader Leak Patterns
ClassLoader Leak Patterns
nekop
90分間濃縮 PHPエラーの教室
90分間濃縮 PHPエラーの教室
Yusuke Ando
Lithium Labo #1
Lithium Labo #1
Yusuke Ando
SPL fukuokaphp_1
SPL fukuokaphp_1
ichikaway
Ruby初級者向けレッスン 55回 ─── 例外
Ruby初級者向けレッスン 55回 ─── 例外
higaki
Apache Struts2 における任意の Java メソッド実行の脆弱性
Apache Struts2 における任意の Java メソッド実行の脆弱性
JPCERT Coordination Center
実"戦"CakePHP Plugin
実"戦"CakePHP Plugin
Kenichirou Oyama
Ruby初級者向けレッスン 45回 ─── 例外
Ruby初級者向けレッスン 45回 ─── 例外
higaki
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
JustSystems Corporation
Valhalla Update JJUG CCC Spring 2019
Valhalla Update JJUG CCC Spring 2019
David Buck
Doctrineではじめるsymfony1.2開発
Doctrineではじめるsymfony1.2開発
Katsuhiro Ogawa
Elixir入門「第1回:パターンマッチ&パイプでJSONパースアプリをサクっと書いてみる」【旧版】※新版あります
Elixir入門「第1回:パターンマッチ&パイプでJSONパースアプリをサクっと書いてみる」【旧版】※新版あります
fukuoka.ex
Yahoo!ボックスAPI Hackday資料
Yahoo!ボックスAPI Hackday資料
Yahoo!デベロッパーネットワーク
Kawaz的jQuery入門
Kawaz的jQuery入門
Kohki Miki
Semelhante a 【アシアル塾】PHPオブジェクト指向再入門・第三回Exceptionクラスによる例外処理
(20)
pecl-AOPの紹介
pecl-AOPの紹介
はじめてのPowerShell
はじめてのPowerShell
20180123 power shell
20180123 power shell
「Html sql」で図書館hpにアクセスしてみよう
「Html sql」で図書館hpにアクセスしてみよう
Javaプログラミング入門【第6回】
Javaプログラミング入門【第6回】
Cakephpstudy5 hacks jp
Cakephpstudy5 hacks jp
ClassLoader Leak Patterns
ClassLoader Leak Patterns
90分間濃縮 PHPエラーの教室
90分間濃縮 PHPエラーの教室
Lithium Labo #1
Lithium Labo #1
SPL fukuokaphp_1
SPL fukuokaphp_1
Ruby初級者向けレッスン 55回 ─── 例外
Ruby初級者向けレッスン 55回 ─── 例外
Apache Struts2 における任意の Java メソッド実行の脆弱性
Apache Struts2 における任意の Java メソッド実行の脆弱性
実"戦"CakePHP Plugin
実"戦"CakePHP Plugin
Ruby初級者向けレッスン 45回 ─── 例外
Ruby初級者向けレッスン 45回 ─── 例外
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Valhalla Update JJUG CCC Spring 2019
Valhalla Update JJUG CCC Spring 2019
Doctrineではじめるsymfony1.2開発
Doctrineではじめるsymfony1.2開発
Elixir入門「第1回:パターンマッチ&パイプでJSONパースアプリをサクっと書いてみる」【旧版】※新版あります
Elixir入門「第1回:パターンマッチ&パイプでJSONパースアプリをサクっと書いてみる」【旧版】※新版あります
Yahoo!ボックスAPI Hackday資料
Yahoo!ボックスAPI Hackday資料
Kawaz的jQuery入門
Kawaz的jQuery入門
Mais de アシアル株式会社
MonacaとEducation活動の紹介
MonacaとEducation活動の紹介
アシアル株式会社
PWA 4 Business
PWA 4 Business
アシアル株式会社
Monacaによるモバイルアプリ開発ことはじめ
Monacaによるモバイルアプリ開発ことはじめ
アシアル株式会社
kintone 連携スマホアプリの開発・配布体験
kintone 連携スマホアプリの開発・配布体験
アシアル株式会社
JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)
JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)
アシアル株式会社
書籍『Monacaで学ぶはじめてのプログラミング』発展資料(試験問題アプリ編)
書籍『Monacaで学ぶはじめてのプログラミング』発展資料(試験問題アプリ編)
アシアル株式会社
書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)
書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)
アシアル株式会社
Onsen UI 2 開発における JS フレームワーク衝突事例集
Onsen UI 2 開発における JS フレームワーク衝突事例集
アシアル株式会社
Web標準技術でiOS、Android両対応アプリを開発
Web標準技術でiOS、Android両対応アプリを開発
アシアル株式会社
書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド(体験版)
書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド(体験版)
アシアル株式会社
Cordovaの特徴と開発手法概要
Cordovaの特徴と開発手法概要
アシアル株式会社
Html5/JSモバイルアプリ最前線
Html5/JSモバイルアプリ最前線
アシアル株式会社
Onsen UI の最近とこれから 〜 国内サポートはじめました
Onsen UI の最近とこれから 〜 国内サポートはじめました
アシアル株式会社
Monaca事例から学ぶHTML5モバイルアプリの活用ポイント
Monaca事例から学ぶHTML5モバイルアプリの活用ポイント
アシアル株式会社
最新UIフレームワーク Onsen UI2でカッコイイWordPress連携アプリを作る方法
最新UIフレームワーク Onsen UI2でカッコイイWordPress連携アプリを作る方法
アシアル株式会社
Gartner summit 2016
Gartner summit 2016
アシアル株式会社
モバイル用Webフレームワーク最前線
モバイル用Webフレームワーク最前線
アシアル株式会社
Monacaソリューションセミナー20160621
Monacaソリューションセミナー20160621
アシアル株式会社
20160308seminar2
20160308seminar2
アシアル株式会社
Nifty cloud mbaas
Nifty cloud mbaas
アシアル株式会社
Mais de アシアル株式会社
(20)
MonacaとEducation活動の紹介
MonacaとEducation活動の紹介
PWA 4 Business
PWA 4 Business
Monacaによるモバイルアプリ開発ことはじめ
Monacaによるモバイルアプリ開発ことはじめ
kintone 連携スマホアプリの開発・配布体験
kintone 連携スマホアプリの開発・配布体験
JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)
JINS MEME DEVELOPER HANDS-ON (Monaca / Apache Cordova編)
書籍『Monacaで学ぶはじめてのプログラミング』発展資料(試験問題アプリ編)
書籍『Monacaで学ぶはじめてのプログラミング』発展資料(試験問題アプリ編)
書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)
書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド第2弾(体験版)
Onsen UI 2 開発における JS フレームワーク衝突事例集
Onsen UI 2 開発における JS フレームワーク衝突事例集
Web標準技術でiOS、Android両対応アプリを開発
Web標準技術でiOS、Android両対応アプリを開発
書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド(体験版)
書籍『Monacaで学ぶはじめてのプログラミング』 講義スライド(体験版)
Cordovaの特徴と開発手法概要
Cordovaの特徴と開発手法概要
Html5/JSモバイルアプリ最前線
Html5/JSモバイルアプリ最前線
Onsen UI の最近とこれから 〜 国内サポートはじめました
Onsen UI の最近とこれから 〜 国内サポートはじめました
Monaca事例から学ぶHTML5モバイルアプリの活用ポイント
Monaca事例から学ぶHTML5モバイルアプリの活用ポイント
最新UIフレームワーク Onsen UI2でカッコイイWordPress連携アプリを作る方法
最新UIフレームワーク Onsen UI2でカッコイイWordPress連携アプリを作る方法
Gartner summit 2016
Gartner summit 2016
モバイル用Webフレームワーク最前線
モバイル用Webフレームワーク最前線
Monacaソリューションセミナー20160621
Monacaソリューションセミナー20160621
20160308seminar2
20160308seminar2
Nifty cloud mbaas
Nifty cloud mbaas
Último
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Último
(12)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
【アシアル塾】PHPオブジェクト指向再入門・第三回Exceptionクラスによる例外処理
1.
URL : http://www.asial.co.jp/
│ Copyright © Asial Corporation. All Rights Reserved. │ 1 PHPオブジェクト指向再入門 Exceptionによる例外処理 1回3,000円のWeb技術教育・アシアル塾 http://www.asial.co.jp/school/juku.php
2.
URL : http://www.asial.co.jp/
│ Copyright © Asial Corporation. All Rights Reserved. │ 2 本講座の目的 本講座の目的 • 書籍だけでは理解することが難しいオブジェクト指向の技術や考え方を、ひとつずつ理解していきます。 受講対象者 • プログラミングの基本的な手法である構造化プログラミング(順次・反復・分岐)や変数・関数の仕組みを理 解している方 第三回目の目標 1. Exceptionを利用した例外処理の仕組みを理解する 2. 継承を利用してオリジナルのExceptionを定義する
3.
URL : http://www.asial.co.jp/
│ Copyright © Asial Corporation. All Rights Reserved. │ 3 Exceptionと例外処理
4.
URL : http://www.asial.co.jp/
│ Copyright © Asial Corporation. All Rights Reserved. │ 4 Exceptionとは Exeptionとは • 「例外」をオブジェクトとして管理するためのクラスです Exceptionはれっきとしたクラスなのでインスタンス化したり継承することができます。 • Exceptionオブジェクトを扱うための構文(try-catch)と組み合わせて利用できます 例外とは何か? • 例外的な状況 データベースサーバーが応答しなくなった 注文処理の実行中に在庫がなくなってしまった 外部APIが応答しなくなった ディスク容量があふれてプログラムが正常に処理できなくなった Exceptionによる例外処理 • 例外的な状況に陥ったタイミングで「例外を投げる(スロー)」ことを行います 例:throw new exception('例外エラーが発生しました'); – 「throw」という構文に Exceptionオブジェクトを渡します。 – Exceptionオブジェクトはコンストラクタでエラーメッセージを定義できます。
5.
URL : http://www.asial.co.jp/
│ Copyright © Asial Corporation. All Rights Reserved. │ 5 エラー処理方法 エラー処理方法 • 関数の返り値によるエラー処理 エラー発生時にreturnでfalseや0、エラーコードなどを返します • 例外によるエラー処理 例外発生時に、throwで例外(Exceptionオブジェクト)を投げます 例外処理のメリット • 関数の返り値の型を汚さずに済みます 例としてPHPの関数file_get_contents()関数は取得に成功した場合はデータをstring型で返すのですががエラー 時はboolean型のfalseを返すようになっており、返り値の型が統一できていません。 • 関数を利用する側がif文によるエラーチェックから解放されます • 例外発生時の処理をcatchブロックでまとめて記述できます • 正常系の処理と例外発生時の処理が分離できるため可読性が高まります
6.
URL : http://www.asial.co.jp/
│ Copyright © Asial Corporation. All Rights Reserved. │ 6 【実習】Exceptionを投げる Exceptionをインスタンス化してthrowで投げてみましょう try-catch構文を利用してExceptionをcatchしてみましょう <?php throw new Exception("はじめてのException"); Exception.php <?php try { echo "try開始"; throw new Exception("はじめてのException"); echo "try終了"; } catch (Exception $e) { echo $e->getMessage(); }
7.
URL : http://www.asial.co.jp/
│ Copyright © Asial Corporation. All Rights Reserved. │ 7 throwとtry-catch try-catch構文を使わなかった場合 • throwしたExceptionがキャッチされなかった場合、最終的にPHPがFatalエラーとして処理します try-catch構文を使った場合 • throwのタイミングでtryブロックの後続の処理が中断されます 中断後はcatchブロックの中の処理が実行されます • catch (Exception $e) について Exceptionの記述はタイプヒンティングのようなもので、catch可能なオブジェクトのクラスを指定しています – この場合はExceptionクラスかその子クラスのオブジェクトをキャッチします キャッチしたオブジェクトは$eとして参照できるようになります – $exceptionと記述した場合は$exceptionとして参照できるようになります
8.
URL : http://www.asial.co.jp/
│ Copyright © Asial Corporation. All Rights Reserved. │ 8 Exceptionの継承 Exceptionの継承 • Exceptionはクラスなので継承してオリジナルの例外を作成することができます 例:データベース接続に関する例外や注文に関する例外など • PHPではSPLとしてExceptionを継承した例外が用意されています http://php.net/manual/ja/spl.exceptions.php RuntimeException (実行時例外) – OutOfBoundsException:有効ではないキーを参照した場合にスローされる例外 – OverflowException:コンテナに要素を追加して れた場合にスローされる例外 » ※コンテナは配列やオブジェクトなどの総称 – UnderflowException:空のコンテナの要素を削除しようとした場合にスローされる例外 – RangeException:範囲エラーが発生した場合にスローされる例外 – UnexpectedValueException:期待していない値の際にスローされる例外 LogicException(コードの検査や本来起こりえない状況の対応に使う例外) – 省略 • PDOが利用するPDOExceptionはRuntimeException を継承しています http://php.net/manual/ja/class.pdoexception.php • フレームワークでも例外を用意している場合があります http://book.cakephp.org/2.0/ja/development/exceptions.html
9.
URL : http://www.asial.co.jp/
│ Copyright © Asial Corporation. All Rights Reserved. │ 9 複数のcatch 複数のcatch • catchは複数用意することができます • 例えば、まず「RangeException」をcatchしてそれ以外を「RuntimeException」それでもcatchできないも のは「Exception」としてcatchすることができます。 try { $item->setStock(-1); } catch (RangeException $e) { echo "RangeExceptionが発生しました"; } catch (RuntimeException $e) { echo "RuntimeExceptionが発生しました"; } catch (Exception $e) { echo "Exceptionが発生しました"; }
10.
URL : http://www.asial.co.jp/
│ Copyright © Asial Corporation. All Rights Reserved. │ 10 Exceptionクラスの諸機能 Exceptionクラスの諸機能 • getMessage()メソッド 例外メッセージを取得します • getCode()メソッド 例外コードを取得します • getTrace()メソッド スタックトレースを取得します – 例外の発生した個所や呼び出し元情報を確認できます Exceptionオブジェクトの名前を確認する方法 • get_class()関数 オブジェクトのクラス名を取得します – Exceptionに限らず利用可能です
11.
URL : http://www.asial.co.jp/
│ Copyright © Asial Corporation. All Rights Reserved. │ 11 【実習】ItemクラスのメソッドからExceptionを投げる ItemクラスのメソッドからExceptionを投げる <?php class Item { private $stock = 0; public function setStock($amount) { if (is_int($amount)) { if ($amount >= 0) { $this->stock = $amount; return "在庫を" . $this->stock . "に更新しました"; } else { throw new RangeException('負数による在庫数指定'); } } else { throw new UnexpectedValueException("数値(int)以外の在庫数指定"); } } } ExceptionItem.php
12.
URL : http://www.asial.co.jp/
│ Copyright © Asial Corporation. All Rights Reserved. │ 12 【実習】Exceptionを複数のcatchで捉える Exceptionを複数のcatchで捉える • catch後の処理が同じ場合、個別にcatchする必要はありません try { $item = new Item(); $result = $item->setStock(99); echo $result; } catch (RangeException $e) { echo get_class($e) . "が発生しました"; echo $e->getMessage(); } catch (UnexpectedValueException $e) { echo get_class($e) . "が発生しました"; echo $e->getMessage(); } catch (RuntimeException $e) { echo get_class($e) . "が発生しました"; echo $e->getMessage(); } catch (Exception $e) { echo get_class($e) . "が発生しました"; echo $e->getMessage(); } ExceptionItem.php
13.
URL : http://www.asial.co.jp/
│ Copyright © Asial Corporation. All Rights Reserved. │ 13 PHPのエラーとException
14.
URL : http://www.asial.co.jp/
│ Copyright © Asial Corporation. All Rights Reserved. │ 14 PHPのエラーを例外として扱う PHPのエラーをExceptionとして扱う • PHPにはNoticeやWarningといったエラーが用意されています • NoticeやWarningを例外として扱う方法を確認していきましょう set_error_handler()関数 • PHPのエラーが発生した時の処理を設定するための関数です • エラー発生時の処理としてExceptionを投げる処理を登録します ExceptionはErrorExceptionというPHPで定義済みの例外を利用します function exception_error_handler($errno, $errstr, $errfile, $errline ) { throw new ErrorException($errstr, 0, $errno, $errfile, $errline); } set_error_handler("exception_error_handler"); /* 例外を発生させます */ try { echo $array['foo']; } catch (ErrorException $e) { echo $e->getMessage(); } 参考:http://php.net/manual/ja/class.errorexception.php
15.
URL : http://www.asial.co.jp/
│ Copyright © Asial Corporation. All Rights Reserved. │ 15 finallyブロック finallyブロック • PHP5.5以降からはtry-catch構文でfinallyブロックを記述することができます。 • finallyブロックに記述した処理は例外の発生にかかわらず実行されます また途中でreturnを実行した場合でも実行されます <?php try { throw new Exception("foo"); } catch (Exception $e) { echo $e->getMessage(); return; } finally { echo "hoge"; } echo "fuga";
16.
URL : http://www.asial.co.jp/
│ Copyright © Asial Corporation. All Rights Reserved. │ 16 【応用課題】Exceptionの継承とネストしたtry-catch
17.
URL : http://www.asial.co.jp/
│ Copyright © Asial Corporation. All Rights Reserved. │ 17 【実習】オリジナルのExceptionを定義する Cartクラスの定義 <?php class Cart { public function order() { try { echo "注文処理を行います"; echo "DBトランザクションを開始します"; $this->inventoryReservation(true); $this->payment(); echo "DBトランザクションをコミットします"; } catch (StockException $e) { echo "在庫の引き当てに失敗しました"; echo "DBトランザクションをロールバックします"; throw $e; } catch (PaymentException $e) { echo "支払に失敗しました"; echo "DBトランザクションをロールバックします"; throw $e; } } private function payment($bool = false) { if ($bool) { throw new PaymentException; } } private function inventoryReservation($bool = false) { if ($bool) { throw new StockException; } } } ExceptionCart.php
18.
URL : http://www.asial.co.jp/
│ Copyright © Asial Corporation. All Rights Reserved. │ 18 【実習】オリジナルのExceptionを定義する 例外の定義とCartオブジェクトの利用 class OrderException extends Exception {} class StockException extends OrderException {} class PaymentException extends OrderException {} $cart = new Cart; echo "START"; try { $cart->order(); } catch (OrderException $e) { echo "注文に失敗しました"; var_dump($e->getTrace()); } catch (Exception $e) { echo "想定外の例外が発生しました"; } echo "END"; ExceptionCart.php
19.
URL : http://www.asial.co.jp/
│ Copyright © Asial Corporation. All Rights Reserved. │ 19 【CM】アシアルスクール
20.
URL : http://www.asial.co.jp/
│ Copyright © Asial Corporation. All Rights Reserved. │ 20 アシアル塾のご案内 1回3,000円でWeb技術を約90分学習できる格安の教育サービスです • 60分の講義+30分の復習&質問タイム 主な対象 • IT業界やWeb業界で働いているプロの方の学習を応援します! Webデザイナーの方大歓迎 • 技術を分かりやすく教えます 絶対理解保証キャンペーン実施中 • もし講義内容にご満足いただけなかった場合は返金いたします (返金手数料のみ頂戴いたします) URL • http://www.asial.co.jp/school/juku.php
21.
URL : http://www.asial.co.jp/
│ Copyright © Asial Corporation. All Rights Reserved. │ 21 アシアルスクールのご案内 Web関連技術を集中的かつ体系的に学べる研修サービスです • 半日∼二日間の集中講義を中心に実施 • PHPやJavaScript、LinuxといったWeb関連技術が学べます URL • http://www.asial.co.jp/school/guide.php 例:PHP講座の学習ロードマップ
22.
URL : http://www.asial.co.jp/
│ Copyright © Asial Corporation. All Rights Reserved. │ 22 企業研修のご案内 アシアルではWeb技術に関する企業研修を行っています • 技術職採用の社員に向けた新人研修・中途採用者向け研修 • 総合職向けのWeb技術入門研修 主な実績 • グリー株式会社様 • 株式会社ドワンゴ様 • 株式会社朝日新聞社様 URL • http://www.asial.co.jp/business/training/
Baixar agora