10/7/15. MediaItem tostring Method. Objec,ves. Using booleans in if statements. Review. Javadoc Guidelines

Size: px
Start display at page:

Download "10/7/15. MediaItem tostring Method. Objec,ves. Using booleans in if statements. Review. Javadoc Guidelines"

Transcription

1 Objec,ves Excep,ons Ø Wrap up Files Streams MediaItem tostring Method public String tostring() { String classname = getclass().tostring(); StringBuilder rep = new StringBuilder(classname); return rep.tostring(); Addresses some issues some of you had Can you guess what is happening? What issues does this solve? Why does it work? Oct 7, 2015 Sprenkle - CSCI209 1 Oct 7, 2015 Sprenkle - CSCI209 2 Using booleans in if statements if( incollection == true ) { System.out.println("In collection"); Review What are the two types of excep%ons? What are some ways to handle excep,ons? What does it mean to adver,se an excep,on? if( incollection ) { System.out.println("In collection"); What Eclipse tricks did you figure out? Second: less naïve implementation Oct 7, 2015 Sprenkle - CSCI209 3 Oct 7, 2015 Sprenkle - CSCI209 4 Review: Excep,on Classifica,on Error Unchecked Checked Checked: All non- RuntimeExceptions Throwable IOException Others SQLException Checked Exception Part of java.lang package Unchecked RuntimeException Oct 7, 2015 Sprenkle - CSCI209 5 Javadoc Guidelines Always report if throw checked excep,ons Report any unchecked excep,ons that the caller might reasonably want to catch Ø Excep,on: NullPointerException Ø Allows caller to handle (or not) Ø Document excep,ons that are independent of the underlying implementa,on Errors should not be documented as they are unpredictable Oct 7, 2015 Sprenkle - CSCI

2 Prac,ce: try/catch/finally Blocks statement1; statement2; catch (EOFException e) { statement3; statement4; finally { statement5; Which statements run if: Ø Neither statement1 nor statement2 throws an excep,on Ø statement1 throws an EOFException Ø statement2 throws an EOFException Ø statement1 throws an IOException What to do with a Caught Excep,on? Print the stack aber the excep,on occurs Ø What else can we do? Generally, two op,ons: 1. Catch the excep,on and recover from it 2. Pass excep,on up to whoever called it Oct 7, 2015 Sprenkle - CSCI209 7 Oct 7, 2015 Sprenkle - CSCI209 8 Design Decision: To Throw or Catch? Problem: lower- level excep,on Handled here propagated up to higher- level code Example: user enters account informa,on and gets excep,on message field exceeds allowed length in database What do you think happened? Is this a good solution? GUI Oct 7, 2015 Sprenkle - CSCI209 9 Design Decision: To Throw or Catch? Problem: lower- level excep,on Handled here propagated up to higher- level code Example: user enters account informa,on and gets excep,on message field exceeds allowed length in database Ø Lost context Ø Lower- level detail pollu,ng higher- level API GUI DB Solution: higher-levels should catch lower-level exceptions and throw them in terms of higher-level abstraction Oct 7, 2015 Sprenkle - CSCI Exception here Excep,on Transla,on // Call lower-level abstraction catch (LowerLevelException ex) { // log exception throw new HigherLevelException(); Special case: Excep,on Chaining Ø When higher- level excep,on needs info from lower- level excep,on Most standard Exceptions have this constructor // Call lower-level abstraction catch (LowerLevelException cause) { // log exception throw new HigherLevelException(cause); Oct 7, 2015 Sprenkle - CSCI Guidelines for Excep,on Transla,on Avoidance! Ø Try to ensure that lower- level APIs succeed Ø Ex: verify that your parameters sa,sfy invariants Insulate higher- level from lower- level excep,ons Ø Handle in some reasonable way Ø Always log problem so admin can check If can t do previous two, then use excep,on transla,on Oct 7, 2015 Sprenkle - CSCI

3 Summary: Methods Throwing Excep,ons API documenta,on tells you if a method can throw an excep,on Ø If so, you must handle it If your method could possibly throw an excep,on (by genera,ng it or by calling another method that could), adver,se it! Ø If you can t handle every error, that s OKlet whoever is calling you worry about it Ø However, they can only handle the error if you adver,se the excep,ons you can t deal with Oct 7, 2015 Sprenkle - CSCI Programming with Excep,ons Excep,on handling is slow Use one big try block instead of nes,ng try- catch blocks Ø Speeds up Excep,on Handling Ø Otherwise, code gets too messy Don't ignore excep,ons (e.g., catch block does nothing) Ø Beler to pass them along to higher calls Oct 7, 2015 Sprenkle - CSCI Crea,ng Our Own Excep,on Class Try to reuse an exis,ng excep,on Ø Match in name as well as seman,cs If you cannot find a defined Java Exception class that describes your error, implement a new Exception class! Crea,ng Our Own Excep,on Class public class FileFormatException extends IOException { public FileFormatException() { What happens in this constructor implicitly? public FileFormatException(String message) { super(message); // other 2 standard constructors Is this a checked or unchecked exception? Can now throw excep,ons of type FileFormatException Oct 7, 2015 Sprenkle - CSCI Oct 7, 2015 Sprenkle - CSCI Guidelines for Crea,ng Your Own Excep,on Classes Include accessor methods to get more informa,on about the cause of the excep,on Ø failure- capture informa,on Checked or unchecked excep,on? Ø Checked: forces API user to handle BUT more difficult to use API Has to handle all checked excep,ons Ø Use checked excep,on if excep,onal condi,on cannot be prevented by proper use of API and API user can take a useful ac,on aberward Oct 7, 2015 Sprenkle - CSCI Prac,ce: Designing a New Excep,on Class Scenario: When an alempt to make a purchase with a gib card fails because card doesn t have enough money, throw a new excep,on that you created Recall that all Exceptions are Throwable, so they have the methods: getmessage(), printstacktrace(), getstacktrace() How would someone else use your class? What constructors, additional method(s) may you want to add for your exception class? Oct 7, 2015 Sprenkle - CSCI

4 Discussion: Benefits of Excep,ons Been talking about details Why does Java have excep,ons as part of the language? Why does Java add some features that Python doesn t have? Oct 7, 2015 Sprenkle - CSCI Benefits of Excep,ons Force error checking/handling Ø Otherwise, won t compile Ø Does not guarantee good excep,on handling Ease debugging Ø Stack trace Separates error- handling code from regular code Ø Error code is in catch blocks at end Ø Descrip,ve messages with excep,ons Propagate methods up call stack Ø Let whoever cares about error handle it Group and differen,ate error types Oct 7, 2015 Sprenkle - CSCI java.io.file Class FILES Represents a file or directory Provides func,onality such as Ø Storage of the file on the disk Ø Determine if a par,cular file exists Ø When file was last modified Ø Rename file Ø Remove/delete file Ø Oct 7, 2015 Sprenkle - CSCI Oct 7, 2015 Sprenkle - CSCI Making a File Object Simplest constructor takes full file name (including path) Ø If don t supply path, Java assumes current directory (.) File f1 = new File("chicken.data"); Ø Creates a File object represen,ng a file named chicken.data in the current directory Ø Does not create a file with this name on disk Files, Directories, and Useful Methods A File object can represent a file or a directory Ø Directories are special files in most modern opera,ng systems Use isdirectory() and/or isfile() for type of file File object represents Use exists() method Ø Determines if a file exists on the disk Oct 7, 2015 Sprenkle - CSCI Oct 7, 2015 Sprenkle - CSCI

5 More File Constructors String for the path, String for filename Break any of Java s Principles? File f2 = new File( "/csdept/local/courses/cs209/handouts", "chicken.data"); File for directory, String for filename File dir = new File( "/csdept/local/courses/cs209/handouts"); File f4 = new File(dir, "chicken.data"); Oct 7, 2015 Sprenkle - CSCI Oct 7, 2015 Sprenkle - CSCI Not Portable Accessing the file system is inherently not portable Ø In Windows, paths are c:\\dir Ø In Unix, paths are /home/courses/dir Relies on underlying file system/opera,ng system to perform ac,ons Oct 7, 2015 Sprenkle - CSCI Handling Portability Issues Sta,c fields in File class Ø static separator Unix: "/" Windows: "\\" Ø static pathseparator For separa,ng a list of paths Unix: ":" Windows: ";" Use rela,ve paths, with separators Use configura,on files Why two \\? Oct 7, 2015 Sprenkle - CSCI java.io.file Class 25+ methods Ø Manipulate files and directories Ø Crea,ng and removing directories Ø Making, renaming, and dele,ng files Ø Informa,on about file (size, last modified) Ø Crea,ng temporary files Ø See online API documenta,on STREAMS FileTest.java Oct 7, 2015 Sprenkle - CSCI Oct 7, 2015 Sprenkle - CSCI

6 Streams Java handles input/output using streams, which are sequences of bytes Streams Java handles input/output using streams, which are sequences of bytes input stream: an object from which we can read a sequence of bytes abstract class: java.io.inputstream Oct 7, 2015 Sprenkle - CSCI output stream: an object to which we can write a sequence of bytes abstract class: java.io.outputstream Oct 7, 2015 Sprenkle - CSCI Java Streams MANY (80+) types of Java streams In java.io package Why stream abstrac,on? Ø Informa,on stored in different sources is accessed in essen,ally the same way Example sources: file, on a web server across the network, string Ø Allows same methods to read or write data, regardless of its source Create an InputStream or OutputStream of the appropriate type java.io Classes Overview Two types of stream classes, based on datatype: Byte, Text Abstract base classes for binary data: InputStream Abstract base classes for text data: Reader OutputStream Writer Oct 7, 2015 Sprenkle - CSCI Oct 7, 2015 Sprenkle - CSCI Byte Streams For binary data In java.io package Character Streams For Text In java.io package Handle any character in Unicode set Abstract Base Classes Abstract Base Classes Shaded: Read to/write from data sinks White: Does some processing Shaded: Read to/write from data sinks White: Does some processing Oct 7, 2015 Sprenkle - CSCI Oct 7, 2015 Sprenkle - CSCI

7 Console I/O Output: Ø System.out is a PrintStream object Input Ø System.in is an InputStream object Ø Throws excep,ons if format of input data is not correct Handle in try/catch Opening & Closing Streams Streams are automa%cally opened when constructed Close a stream by calling its close() method Ø Close a stream as soon as object is done with it Ø Free up system resources Oct 7, 2015 Sprenkle - CSCI Oct 7, 2015 Sprenkle - CSCI Reading & Wri,ng Bytes Abstract parent class: InputStream Ø abstract int read() reads one byte from the stream and returns it Concrete input stream classes override read() to provide appropriate func,onality Ø e.g., FileInputStream s read() reads one byte from a file Similarly, OutputStream class has abstract write() to write a byte to the stream Reading & Wri,ng Bytes read() and write() are blocking opera,ons Ø If a byte cannot be read from the stream, the method waits (does not return) un,l a byte is read available() : get the number of bytes that are available for reading Example use: int bytesavailable = System.in.available(); if (bytesavailable > 0) System.in.read(byteBuffer); Oct 7, 2015 Sprenkle - CSCI Oct 7, 2015 Sprenkle - CSCI TODO Assignment 7: Due Monday Midterm: Wednesday Oct 7, 2015 Sprenkle - CSCI

Objec-ves JAR FILES. Jar files. Excep-ons. Files Streams. Ø Wrap up Ø Why Excep-ons? 9/30/16. Oct 3, 2016 Sprenkle - CSCI209 1

Objec-ves JAR FILES. Jar files. Excep-ons. Files Streams. Ø Wrap up Ø Why Excep-ons? 9/30/16. Oct 3, 2016 Sprenkle - CSCI209 1 Objec-ves Jar files Excep-ons Ø Wrap up Ø Why Excep-ons? Files Streams Oct 3, 2016 Sprenkle - CSCI209 1 JAR FILES Oct 3, 2016 Sprenkle - CSCI209 2 1 Jar (Java Archive) Files Archives of Java files Package

More information

Objec&ves. Review. Standard Error Streams

Objec&ves. Review. Standard Error Streams Objec&ves Standard Error Streams Ø Byte Streams Ø Text Streams Oct 5, 2016 Sprenkle - CSCI209 1 Review What are benefits of excep&ons What principle of Java do files break if we re not careful? What class

More information

Abstract Classes, Exceptions

Abstract Classes, Exceptions CISC 370: Inheritance, Abstract Classes, Exceptions June 15, 1 2006 1 Review Quizzes Grades on CPM Conventions Class names are capitalized Object names/variables are lower case String.doStuff dostuff();

More information

Objec&ves STANDARD ERROR. Standard Error Streams. Ø Byte Streams Ø Text Streams 10/5/16. Oct 5, 2016 Sprenkle - CSCI209 1

Objec&ves STANDARD ERROR. Standard Error Streams. Ø Byte Streams Ø Text Streams 10/5/16. Oct 5, 2016 Sprenkle - CSCI209 1 Objec&ves Standard Error Streams Ø Byte Streams Ø Text Streams Oct 5, 2016 Sprenkle - CSCI209 1 STANDARD ERROR Oct 5, 2016 Sprenkle - CSCI209 2 1 Standard Streams Preconnected streams Ø Standard Out: stdout

More information

Review: Collec-ons Framework

Review: Collec-ons Framework Objec-ves Collec-ons Ø Maps Traversing Collec-ons Excep-on handling Sept 30, 2016 Sprenkle - CSCI209 1 Review: Collec-ons Framework Interfaces Ø Abstract data types that represent collec-ons Ø Collec-ons

More information

Sri Vidya College of Engineering & Technology Question Bank

Sri Vidya College of Engineering & Technology Question Bank 1. What is exception? UNIT III EXCEPTION HANDLING AND I/O Part A Question Bank An exception is an event, which occurs during the execution of a program, that disrupts the normal flow of the program s instructions.

More information

CS11 Java. Fall Lecture 4

CS11 Java. Fall Lecture 4 CS11 Java Fall 2014-2015 Lecture 4 Java File Objects! Java represents files with java.io.file class " Can represent either absolute or relative paths! Absolute paths start at the root directory of the

More information

Review. Errors. Ø Users may enter data in the wrong form Ø Files may not exist Ø Program code has bugs!*

Review. Errors. Ø Users may enter data in the wrong form Ø Files may not exist Ø Program code has bugs!* Objectives Exceptions Ø Why Exceptions? Ø Throwing exceptions Packages Javadocs Eclipse Log into your machines Review How do we specify that a class or a method cannot be subclassed/overridden? Compare

More information

Programming Languages and Techniques (CIS120)

Programming Languages and Techniques (CIS120) Programming Languages and Techniques (CIS120) Lecture 30 April 4, 2018 I/O & Histogram Demo Chapters 28 HW7: Chat Server Announcements No penalty for late submission by tomorrow (which is a HARD deadline!)

More information

Lecture 11.1 I/O Streams

Lecture 11.1 I/O Streams 21/04/2014 Ebtsam AbdelHakam 1 OBJECT ORIENTED PROGRAMMING Lecture 11.1 I/O Streams 21/04/2014 Ebtsam AbdelHakam 2 Outline I/O Basics Streams Reading characters and string 21/04/2014 Ebtsam AbdelHakam

More information

Java Input/Output. 11 April 2013 OSU CSE 1

Java Input/Output. 11 April 2013 OSU CSE 1 Java Input/Output 11 April 2013 OSU CSE 1 Overview The Java I/O (Input/Output) package java.io contains a group of interfaces and classes similar to the OSU CSE components SimpleReader and SimpleWriter

More information

On my Twitter feed: Sept 30, 2016 Sprenkle - CSCI public boolean equals(object o){ if(((birthday) o).getday()!= this.getday()) return false;

On my Twitter feed: Sept 30, 2016 Sprenkle - CSCI public boolean equals(object o){ if(((birthday) o).getday()!= this.getday()) return false; Objec-ves Collec-ons Ø Maps Traversing Excep-ons On my Twitter feed: Rather than teach everyone to code, let's teach them to think. The coding can come later; it's easier. - @rob_pike Sept 30, 2016 Sprenkle

More information

Programming Languages and Techniques (CIS120)

Programming Languages and Techniques (CIS120) Programming Languages and Techniques (CIS120) Lecture 30 November 13, 2015 ExcepEons / IO Chapter 27 HW7: PennPals Chat Due: Tuesday, November 17 th Announcements Start today if you haven't already! Poll

More information

Programming Languages and Techniques (CIS120)

Programming Languages and Techniques (CIS120) Programming Languages and Techniques (CIS120) Lecture 31 November 17, 2017 I/O & Histogram Demo Chapters 28 Announcements HW8: SpellChecker Available on the website and Codio Due next Tuesday, November

More information

Java Programming Unit 7. Error Handling. Excep8ons.

Java Programming Unit 7. Error Handling. Excep8ons. Java Programming Unit 7 Error Handling. Excep8ons. Run8me errors An excep8on is an run- 8me error that may stop the execu8on of your program. For example: - someone deleted a file that a program usually

More information

6.Introducing Classes 9. Exceptions

6.Introducing Classes 9. Exceptions 6.Introducing Classes 9. Exceptions Sisoft Technologies Pvt Ltd SRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, Ghaziabad Website: www.sisoft.in Email:info@sisoft.in Phone: +91-9999-283-283 Learning

More information

Day 8. COMP1006/1406 Summer M. Jason Hinek Carleton University

Day 8. COMP1006/1406 Summer M. Jason Hinek Carleton University Day 8 COMP1006/1406 Summer 2016 M. Jason Hinek Carleton University today s agenda assignments Assignment 4 is out and due on Tuesday Bugs and Exception handling 2 Bugs... often use the word bug when there

More information

Exceptions and Libraries

Exceptions and Libraries Exceptions and Libraries RS 9.3, 6.4 Some slides created by Marty Stepp http://www.cs.washington.edu/143/ Edited by Sarah Heckman 1 Exceptions exception: An object representing an error or unusual condition.

More information

Basic I/O - Stream. Java.io (stream based IO) Java.nio(Buffer and channel-based IO)

Basic I/O - Stream. Java.io (stream based IO) Java.nio(Buffer and channel-based IO) I/O and Scannar Sisoft Technologies Pvt Ltd SRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, Ghaziabad Website: www.sisoft.in Email:info@sisoft.in Phone: +91-9999-283-283 I/O operations Three steps:

More information

Object-Oriented Programming in the Java language

Object-Oriented Programming in the Java language Object-Oriented Programming in the Java language Part 5. Exceptions. I/O in Java Yevhen Berkunskyi, NUoS eugeny.berkunsky@gmail.com http://www.berkut.mk.ua Exceptions Exceptions in Java are objects. All

More information

Exceptions, try - catch - finally, throws keyword. JAVA Standard Edition

Exceptions, try - catch - finally, throws keyword. JAVA Standard Edition Exceptions, try - catch - finally, throws keyword JAVA Standard Edition Java - Exceptions An exception (or exceptional event) is a problem that arises during the execution of a program. When an Exception

More information

Programming Languages and Techniques (CIS120)

Programming Languages and Techniques (CIS120) Programming Languages and Techniques (CIS120) Lecture 30 April 2, 2012 Streams & IO HW 09 will be available today Announcements Covers Java libraries: colleclons & IO Last automalcally graded HW assignment

More information

Exceptions. CSC207 Winter 2017

Exceptions. CSC207 Winter 2017 Exceptions CSC207 Winter 2017 What are exceptions? In Java, an exception is an object. Exceptions represent exceptional conditions: unusual, strange, disturbing. These conditions deserve exceptional treatment:

More information

Errors and Exceptions

Errors and Exceptions Exceptions Errors and Exceptions An error is a bug in your program dividing by zero going outside the bounds of an array trying to use a null reference An exception isn t necessarily your fault trying

More information

F1 A Java program. Ch 1 in PPIJ. Introduction to the course. The computer and its workings The algorithm concept

F1 A Java program. Ch 1 in PPIJ. Introduction to the course. The computer and its workings The algorithm concept F1 A Java program Ch 1 in PPIJ Introduction to the course The computer and its workings The algorithm concept The structure of a Java program Classes and methods Variables Program statements Comments Naming

More information

Sept 26, 2016 Sprenkle - CSCI Documentation is a love letter that you write to your future self. Damian Conway

Sept 26, 2016 Sprenkle - CSCI Documentation is a love letter that you write to your future self. Damian Conway Objec,ves Javadocs Inheritance Ø Final methods, fields Abstract Classes Interfaces Sept 26, 2016 Sprenkle - CSCI209 1 JAVADOCS Documentation is a love letter that you write to your future self. Damian

More information

File IO. Computer Science and Engineering College of Engineering The Ohio State University. Lecture 20

File IO. Computer Science and Engineering College of Engineering The Ohio State University. Lecture 20 File IO Computer Science and Engineering College of Engineering The Ohio State University Lecture 20 I/O Package Overview Package java.io Core concept: streams Ordered sequences of data that have a source

More information

PIC 20A Streams and I/O

PIC 20A Streams and I/O PIC 20A Streams and I/O Ernest Ryu UCLA Mathematics Last edited: December 7, 2017 Why streams? Often, you want to do I/O without paying attention to where you are reading from or writing to. You can read

More information

A problem?... Exceptions. A problem?... A problem?... Suggested Reading: Bruce Eckel, Thinking in Java (Fourth Edition) Error Handling with Exceptions

A problem?... Exceptions. A problem?... A problem?... Suggested Reading: Bruce Eckel, Thinking in Java (Fourth Edition) Error Handling with Exceptions A problem?... Exceptions Suggested Reading: Bruce Eckel, Thinking in Java (Fourth Edition) Error Handling with Exceptions 2 A problem?... A problem?... 3 4 A problem?... A problem?... 5 6 A problem?...

More information

Exceptions in Java

Exceptions in Java Exceptions in Java 3-10-2005 Opening Discussion Do you have any questions about the quiz? What did we talk about last class? Do you have any code to show? Do you have any questions about the assignment?

More information

CSC207H: Software Design. Exceptions. CSC207 Winter 2018

CSC207H: Software Design. Exceptions. CSC207 Winter 2018 Exceptions CSC207 Winter 2018 1 What are exceptions? Exceptions represent exceptional conditions: unusual, strange, disturbing. These conditions deserve exceptional treatment: not the usual go-tothe-next-step,

More information

Ø Interface methods are public by default

Ø Interface methods are public by default Objec+ves Interface/Abstract Class Wrap- up Packaging Collec+ons Generics Javadocs Eclipse Sept 30, 2015 Sprenkle - CSCI209 1 Itera+on over Code Assignment 4 à Assignment 5 Demonstrates typical design/implementa+on

More information

Exceptions. Examples of code which shows the syntax and all that

Exceptions. Examples of code which shows the syntax and all that Exceptions Examples of code which shows the syntax and all that When a method might cause a checked exception So the main difference between checked and unchecked exceptions was that the compiler forces

More information

Input, Output and Exceptions. COMS W1007 Introduction to Computer Science. Christopher Conway 24 June 2003

Input, Output and Exceptions. COMS W1007 Introduction to Computer Science. Christopher Conway 24 June 2003 Input, Output and Exceptions COMS W1007 Introduction to Computer Science Christopher Conway 24 June 2003 Input vs. Output We define input and output from the perspective of the programmer. Input is data

More information

תוכנה 1 4 תרגול מס' שימוש במחלקות קיימות: קלט/פלט )IO(

תוכנה 1 4 תרגול מס' שימוש במחלקות קיימות: קלט/פלט )IO( תוכנה 1 4 תרגול מס' שימוש במחלקות קיימות: קלט/פלט )IO( OOP and IO IO Input/Output What is IO good for? In OOP services are united under Objects IO is also handled via predefined classes These objects are

More information

Agenda. Excep,ons Object oriented Python Library demo: xml rpc

Agenda. Excep,ons Object oriented Python Library demo: xml rpc Agenda Excep,ons Object oriented Python Library demo: xml rpc Resources h?p://docs.python.org/tutorial/errors.html h?p://docs.python.org/tutorial/classes.html h?p://docs.python.org/library/xmlrpclib.html

More information

Lab 5: Java IO 12:00 PM, Feb 21, 2018

Lab 5: Java IO 12:00 PM, Feb 21, 2018 CS18 Integrated Introduction to Computer Science Fisler, Nelson Contents Lab 5: Java IO 12:00 PM, Feb 21, 2018 1 The Java IO Library 1 2 Program Arguments 2 3 Readers, Writers, and Buffers 2 3.1 Buffering

More information

COMP 213. Advanced Object-oriented Programming. Lecture 19. Input/Output

COMP 213. Advanced Object-oriented Programming. Lecture 19. Input/Output COMP 213 Advanced Object-oriented Programming Lecture 19 Input/Output Input and Output A program that read no input and produced no output would be a very uninteresting and useless thing. Forms of input/output

More information

Java. Package, Interface & Excep2on

Java. Package, Interface & Excep2on Java Package, Interface & Excep2on Package 2 Package Java package provides a mechanism for par55oning the class name space into more manageable chunks Both naming and visibility control mechanism Define

More information

Byte and Character Streams. Reading and Writing Console input and output

Byte and Character Streams. Reading and Writing Console input and output Byte and Character Streams Reading and Writing Console input and output 1 I/O basics The io package supports Java s basic I/O (input/output) Java does provide strong, flexible support for I/O as it relates

More information

What is the purpose of exceptions and exception handling? Vocabulary: throw/raise and catch/handle Exception propagation Java checked and unchecked

What is the purpose of exceptions and exception handling? Vocabulary: throw/raise and catch/handle Exception propagation Java checked and unchecked What is the purpose of exceptions and exception handling? Vocabulary: throw/raise and catch/handle Exception propagation Java checked and unchecked exceptions Java try statement Final wishes Java try-resource

More information

Exceptions. References. Exceptions. Exceptional Conditions. CSE 413, Autumn 2005 Programming Languages

Exceptions. References. Exceptions. Exceptional Conditions. CSE 413, Autumn 2005 Programming Languages References Exceptions "Handling Errors with Exceptions", Java tutorial http://java.sun.com/docs/books/tutorial/essential/exceptions/index.html CSE 413, Autumn 2005 Programming Languages http://www.cs.washington.edu/education/courses/413/05au/

More information

Lab 2: File Input and Output

Lab 2: File Input and Output Lab 2: File Input and Output This lab introduces how to handle files as both input and output. We re coming back to Tracery (which you implemented in Lab 1) with this assignment but instead of always reading

More information

Programming Languages and Techniques (CIS120)

Programming Languages and Techniques (CIS120) Programming Languages and Techniques (CIS120) Lecture 31 April 6 th, 2016 I/O Chapter 28 Poll Did you finish HW 07 PennPals? 1. Yes! 2. I turned it in on time, but there are a few things I couldn't figure

More information

Objec&ves. Packages Collec&ons Generics. Sept 28, 2016 Sprenkle - CSCI209 1

Objec&ves. Packages Collec&ons Generics. Sept 28, 2016 Sprenkle - CSCI209 1 Objec&ves Packages Collec&ons Generics Sept 28, 2016 Sprenkle - CSCI209 1 PACKAGES Sept 28, 2016 Sprenkle - CSCI209 2 Packages Hierarchical structure of Java classes Ø Directories of directories java lang

More information

Exceptions. Errors and Exceptions. Dealing with exceptions. What to do about errors and exceptions

Exceptions. Errors and Exceptions. Dealing with exceptions. What to do about errors and exceptions Errors and Exceptions Exceptions An error is a bug in your program dividing by zero going outside the bounds of an array trying to use a null reference An exception is a problem whose cause is outside

More information

Assoc. Prof. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.

Assoc. Prof. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved. Assoc. Prof. Marenglen Biba Exception handling Exception an indication of a problem that occurs during a program s execution. The name exception implies that the problem occurs infrequently. With exception

More information

Objec,ves. Review: Object-Oriented Programming. Object-oriented programming in Java. What is OO programming? Benefits?

Objec,ves. Review: Object-Oriented Programming. Object-oriented programming in Java. What is OO programming? Benefits? Objec,ves Object-oriented programming in Java Ø Encapsula,on Ø Access modifiers Ø Using others classes Ø Defining own classes Sept 16, 2016 Sprenkle - CSCI209 1 Review: Object-Oriented Programming What

More information

Charlie Garrod Bogdan Vasilescu

Charlie Garrod Bogdan Vasilescu Principles of So3ware Construc9on: Objects, Design, and Concurrency Part 3: Concurrency Introduc9on to concurrency Charlie Garrod Bogdan Vasilescu School of Computer Science 1 Administrivia Homework 5

More information

Why OO programming? want but aren t. Ø What are its components?

Why OO programming? want but aren t. Ø What are its components? 9/21/15 Objec,ves Assign 1 Discussion Object- oriented programming in Java Java Conven,ons: Ø Constructors Ø Default constructors Ø Sta,c methods, variables Ø Inherited methods Ø Class names: begin with

More information

Lab 10: Sockets 12:00 PM, Apr 4, 2018

Lab 10: Sockets 12:00 PM, Apr 4, 2018 CS18 Integrated Introduction to Computer Science Fisler, Nelson Lab 10: Sockets 12:00 PM, Apr 4, 2018 Contents 1 The Client-Server Model 1 1.1 Constructing Java Sockets.................................

More information

CISC 323 (Week 9) Design of a Weather Program & Java File I/O

CISC 323 (Week 9) Design of a Weather Program & Java File I/O CISC 323 (Week 9) Design of a Weather Program & Java File I/O Jeremy Bradbury Teaching Assistant March 8 & 10, 2004 bradbury@cs.queensu.ca Programming Project The next three assignments form a programming

More information

Garbage collec,on Parameter passing in Java. Sept 21, 2016 Sprenkle - CSCI Assignment 2 Review. public Assign2(int par) { onevar = par; }

Garbage collec,on Parameter passing in Java. Sept 21, 2016 Sprenkle - CSCI Assignment 2 Review. public Assign2(int par) { onevar = par; } Objec,ves Inheritance Ø Overriding methods Garbage collec,on Parameter passing in Java Sept 21, 2016 Sprenkle - CSCI209 1 Assignment 2 Review private int onevar; public Assign2(int par) { onevar = par;

More information

File Input/Output. Introduction to Computer Science I. Overview (1): Overview (2): CSE 1020 Summer Bill Kapralos. Bill Kapralos.

File Input/Output. Introduction to Computer Science I. Overview (1): Overview (2): CSE 1020 Summer Bill Kapralos. Bill Kapralos. File Input/Output Tuesday, July 25 2006 CSE 1020, Summer 2006, Overview (1): Before We Begin Some administrative details Some questions to consider The Class Object What is the Object class? File Input

More information

Remedial Java - Excep0ons 3/09/17. (remedial) Java. Jars. Anastasia Bezerianos 1

Remedial Java - Excep0ons 3/09/17. (remedial) Java. Jars. Anastasia Bezerianos 1 (remedial) Java anastasia.bezerianos@lri.fr Jars Anastasia Bezerianos 1 Disk organiza0on of Packages! Packages are just directories! For example! class3.inheritancerpg is located in! \remedialjava\src\class3\inheritencerpg!

More information

I/O in Java I/O streams vs. Reader/Writer. HW#3 due today Reading Assignment: Java tutorial on Basic I/O

I/O in Java I/O streams vs. Reader/Writer. HW#3 due today Reading Assignment: Java tutorial on Basic I/O I/O 10-7-2013 I/O in Java I/O streams vs. Reader/Writer HW#3 due today Reading Assignment: Java tutorial on Basic I/O public class Swimmer implements Cloneable { public Date geteventdate() { return (Date)

More information

Objec+ves. Review. Basics of Java Syntax Java fundamentals. What are quali+es of good sooware? What is Java? How do you compile a Java program?

Objec+ves. Review. Basics of Java Syntax Java fundamentals. What are quali+es of good sooware? What is Java? How do you compile a Java program? Objec+ves Basics of Java Syntax Java fundamentals Ø Primi+ve data types Ø Sta+c typing Ø Arithme+c operators Ø Rela+onal operators 1 Review What are quali+es of good sooware? What is Java? Ø Benefits to

More information

Weiss Chapter 1 terminology (parenthesized numbers are page numbers)

Weiss Chapter 1 terminology (parenthesized numbers are page numbers) Weiss Chapter 1 terminology (parenthesized numbers are page numbers) assignment operators In Java, used to alter the value of a variable. These operators include =, +=, -=, *=, and /=. (9) autoincrement

More information

ASSERTIONS AND LOGGING

ASSERTIONS AND LOGGING SUMMARY Exception handling, ASSERTIONS AND LOGGING PROGRAMMAZIONE CONCORRENTE E DISTR. Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2015 2016 rcardin@math.unipd.it

More information

PIC 20A Exceptions. Ernest Ryu UCLA Mathematics. Last edited: November 27, 2017

PIC 20A Exceptions. Ernest Ryu UCLA Mathematics. Last edited: November 27, 2017 PIC 20A Exceptions Ernest Ryu UCLA Mathematics Last edited: November 27, 2017 Introductory example Imagine trying to read from a file. import java.io.*; public class Test { public static void main ( String

More information

CS 251 Intermediate Programming Java I/O Streams

CS 251 Intermediate Programming Java I/O Streams CS 251 Intermediate Programming Java I/O Streams Brooke Chenoweth University of New Mexico Spring 2018 Basic Input/Output I/O Streams mostly in java.io package File I/O mostly in java.nio.file package

More information

Building Java Programs. Inheritance and Polymorphism

Building Java Programs. Inheritance and Polymorphism Building Java Programs Inheritance and Polymorphism Input and output streams stream: an abstraction of a source or target of data 8-bit bytes flow to (output) and from (input) streams can represent many

More information

ITI Introduction to Computing II

ITI Introduction to Computing II ITI 1121. Introduction to Computing II Marcel Turcotte School of Electrical Engineering and Computer Science Version of February 23, 2013 Abstract Handling errors Declaring, creating and handling exceptions

More information

Simple Java Input/Output

Simple Java Input/Output Simple Java Input/Output Prologue They say you can hold seven plus or minus two pieces of information in your mind. I can t remember how to open files in Java. I ve written chapters on it. I ve done it

More information

Here is a hierarchy of classes to deal with Input and Output streams.

Here is a hierarchy of classes to deal with Input and Output streams. PART 15 15. Files and I/O 15.1 Reading and Writing Files A stream can be defined as a sequence of data. The InputStream is used to read data from a source and the OutputStream is used for writing data

More information

ITI Introduction to Computing II

ITI Introduction to Computing II ITI 1121. Introduction to Computing II Marcel Turcotte School of Electrical Engineering and Computer Science Version of February 23, 2013 Abstract Handling errors Declaring, creating and handling exceptions

More information

Exceptions. CSE 142, Summer 2002 Computer Programming 1.

Exceptions. CSE 142, Summer 2002 Computer Programming 1. Exceptions CSE 142, Summer 2002 Computer Programming 1 http://www.cs.washington.edu/education/courses/142/02su/ 12-Aug-2002 cse142-19-exceptions 2002 University of Washington 1 Reading Readings and References»

More information

Exceptions. Readings and References. Exceptions. Exceptional Conditions. Reading. CSE 142, Summer 2002 Computer Programming 1.

Exceptions. Readings and References. Exceptions. Exceptional Conditions. Reading. CSE 142, Summer 2002 Computer Programming 1. Readings and References Exceptions CSE 142, Summer 2002 Computer Programming 1 http://www.cs.washington.edu/education/courses/142/02su/ Reading» Chapter 18, An Introduction to Programming and Object Oriented

More information

Data Structures. 03 Streams & File I/O

Data Structures. 03 Streams & File I/O David Drohan Data Structures 03 Streams & File I/O JAVA: An Introduction to Problem Solving & Programming, 6 th Ed. By Walter Savitch ISBN 0132162709 2012 Pearson Education, Inc., Upper Saddle River, NJ.

More information

COS226 - Spring 2018 Class Meeting # 21 April 23, 2018

COS226 - Spring 2018 Class Meeting # 21 April 23, 2018 COS226 - Spring 2018 Class Meeting # 21 April 23, 2018 X Unhandled exception has occurred in your application. if you click continue the application will ignore this error and attempt to continue. If you

More information

Exceptions vs. Errors Exceptions vs. RuntimeExceptions try...catch...finally throw and throws

Exceptions vs. Errors Exceptions vs. RuntimeExceptions try...catch...finally throw and throws Lecture 14 Summary Exceptions vs. Errors Exceptions vs. RuntimeExceptions try...catch...finally throw and throws 1 By the end of this lecture, you will be able to differentiate between errors, exceptions,

More information

Exceptions Binary files Sequential/Random access Serializing objects

Exceptions Binary files Sequential/Random access Serializing objects Advanced I/O Exceptions Binary files Sequential/Random access Serializing objects Exceptions No matter how good of a programmer you are, you can t control everything. Other users Available memory File

More information

Programming II (CS300)

Programming II (CS300) 1 Programming II (CS300) Chapter 04: Exception Handling MOUNA KACEM mouna@cs.wisc.edu Fall 2018 Creating Classes 2 Introduction Exception Handling Common Exceptions Exceptions with Methods Assertions and

More information

Administrivia. CPSC Winter 2008 Term 1. Department of Computer Science Undergraduate Events

Administrivia. CPSC Winter 2008 Term 1. Department of Computer Science Undergraduate Events Department of Computer Science Undergraduate Events Events this week Drop-In Resume Editing Date: Mon. Jan 11 Time: 11 am 2 pm Location: Rm 255, ICICS/CS Industry Panel Speakers: Managers from IBM, Microsoft,

More information

Computer Science is...

Computer Science is... Computer Science is... Computational complexity theory Complexity theory is the study of how algorithms perform with an increase in input size. All problems (like is n a prime number? ) fit inside a hierarchy

More information

University of Texas at Arlington, TX, USA

University of Texas at Arlington, TX, USA Dept. of Computer Science and Engineering University of Texas at Arlington, TX, USA A file is a collec%on of data that is stored on secondary storage like a disk or a thumb drive. Accessing a file means

More information

Input-Output and Exception Handling

Input-Output and Exception Handling Software and Programming I Input-Output and Exception Handling Roman Kontchakov / Carsten Fuhs Birkbeck, University of London Outline Reading and writing text files Exceptions The try block catch and finally

More information

Jonathan Aldrich Charlie Garrod

Jonathan Aldrich Charlie Garrod Principles of So3ware Construc9on: Objects, Design, and Concurrency Part 3: Design Case Studies Design Case Study: Java I/O Jonathan Aldrich Charlie Garrod School of Computer Science 1 Administrivia Homework

More information

Writing your own Exceptions. How to extend Exception

Writing your own Exceptions. How to extend Exception Writing your own Exceptions How to extend Exception When would you write your own exception class? When to write your own custom exception is a matter for discussion in your project design team. There

More information

תוכנה 1 תרגול 8 קלט/פלט רובי בוים ומתי שמרת

תוכנה 1 תרגול 8 קלט/פלט רובי בוים ומתי שמרת תוכנה 1 תרגול 8 קלט/פלט רובי בוים ומתי שמרת A Typical Program Most applications need to process some input and produce some output based on that input The Java IO package (java.io) is to make that possible

More information

Today. Book-keeping. File I/O. Subscribe to sipb-iap-java-students. Inner classes. Debugging tools

Today. Book-keeping. File I/O. Subscribe to sipb-iap-java-students. Inner classes.  Debugging tools Today Book-keeping File I/O Subscribe to sipb-iap-java-students Inner classes http://sipb.mit.edu/iap/java/ Debugging tools Problem set 1 questions? Problem set 2 released tomorrow 1 2 So far... Reading

More information

Unit 10: exception handling and file I/O

Unit 10: exception handling and file I/O Unit 10: exception handling and file I/O Using File objects Reading from files using Scanner Writing to file using PrintStream not in notes 1 Review What is a stream? What is the difference between a text

More information

Exceptions Handling Errors using Exceptions

Exceptions Handling Errors using Exceptions Java Programming in Java Exceptions Handling Errors using Exceptions Exceptions Exception = Exceptional Event Exceptions are: objects, derived from java.lang.throwable. Throwable Objects: Errors (Java

More information

Exception-Handling Overview

Exception-Handling Overview م.عبد الغني أبوجبل Exception Handling No matter how good a programmer you are, you cannot control everything. Things can go wrong. Very wrong. When you write a risky method, you need code to handle the

More information

Exceptions - Example. Exceptions - Example

Exceptions - Example. Exceptions - Example - Example //precondition: x >= 0 public void sqrt(double x) double root; if (x < 0.0) //What to do? else //compute the square root of x return root; 1 - Example //precondition: x >= 0 public void sqrt(double

More information

Lecture 19 Programming Exceptions CSE11 Fall 2013

Lecture 19 Programming Exceptions CSE11 Fall 2013 Lecture 19 Programming Exceptions CSE11 Fall 2013 When Things go Wrong We've seen a number of run time errors Array Index out of Bounds e.g., Exception in thread "main" java.lang.arrayindexoutofboundsexception:

More information

Overview CSE 143. Input and Output. Streams. Other Possible Kinds of Stream Converters. Stream after Stream... CSE143 Wi

Overview CSE 143. Input and Output. Streams. Other Possible Kinds of Stream Converters. Stream after Stream... CSE143 Wi CSE 143 Overview Topics Streams communicating with the outside world Basic Java files Other stream classes Streams Reading: Ch. 16 2/3/2005 (c) 2001-5, University of Washington 12-1 2/3/2005 (c) 2001-5,

More information

Lecture 22. Java Input/Output (I/O) Streams. Dr. Martin O Connor CA166

Lecture 22. Java Input/Output (I/O) Streams. Dr. Martin O Connor CA166 Lecture 22 Java Input/Output (I/O) Streams Dr. Martin O Connor CA166 www.computing.dcu.ie/~moconnor Topics I/O Streams Writing to a Stream Byte Streams Character Streams Line-Oriented I/O Buffered I/O

More information

Documen(ng code, Javadoc, Defensive Programming, Asserts, Excep(ons & Try/Catch

Documen(ng code, Javadoc, Defensive Programming, Asserts, Excep(ons & Try/Catch Documen(ng code, Javadoc, Defensive Programming, Asserts, Excep(ons & Try/Catch 1 Most important reason to comment A) To summarize the code B) To explain how the code works C) To mark loca(ons that need

More information

Programming in Java

Programming in Java 320341 Programming in Java Fall Semester 2014 Lecture 6: Exceptions, Logging, Assertions Instructor: Slides: Jürgen Schönwälder Bendick Mahleko Objectives This lecture focuses on the following - Dealing

More information

ECE 122. Engineering Problem Solving with Java

ECE 122. Engineering Problem Solving with Java ECE 122 Engineering Problem Solving with Java Lecture 24 Exceptions Overview Problem: Can we detect run-time errors and take corrective action? Try-catch Test for a variety of different program situations

More information

Principles of Software Construction: Objects, Design and Concurrency. Exceptions, scope, static data and methods, and Generics.

Principles of Software Construction: Objects, Design and Concurrency. Exceptions, scope, static data and methods, and Generics. Principles of Software Construction: Objects, Design and Concurrency 15-214 toad Exceptions, scope, static data and methods, and Generics Spring 2013 Christian Kästner Charlie Garrod School of Computer

More information

CSCI Object Oriented Design: Java Review Errors George Blankenship. Java Review - Errors George Blankenship 1

CSCI Object Oriented Design: Java Review Errors George Blankenship. Java Review - Errors George Blankenship 1 CSCI 6234 Object Oriented Design: Java Review Errors George Blankenship Java Review - Errors George Blankenship 1 Errors Exceptions Debugging Java Review Topics Java Review - Errors George Blankenship

More information

Design Principles & Prac4ces

Design Principles & Prac4ces Design Principles & Prac4ces Robert France Robert B. France 1 Understanding complexity Accidental versus Essen4al complexity Essen%al complexity: Complexity that is inherent in the problem or the solu4on

More information

CSCI Object-Oriented Design. Java Review Topics. Program Errors. George Blankenship 1. Java Review Errors George Blankenship

CSCI Object-Oriented Design. Java Review Topics. Program Errors. George Blankenship 1. Java Review Errors George Blankenship CSCI 6234 Object Oriented Design: Java Review Errors George Blankenship George Blankenship 1 Errors Exceptions Debugging Java Review Topics George Blankenship 2 Program Errors Types of errors Compile-time

More information

A Third Look At Java. Chapter Seventeen Modern Programming Languages, 2nd ed. 1

A Third Look At Java. Chapter Seventeen Modern Programming Languages, 2nd ed. 1 A Third Look At Java Chapter Seventeen Modern Programming Languages, 2nd ed. 1 A Little Demo public class Test { public static void main(string[] args) { int i = Integer.parseInt(args[0]); int j = Integer.parseInt(args[1]);

More information

CSCI 261 Computer Science II

CSCI 261 Computer Science II CSCI 261 Computer Science II Department of Mathematics and Computer Science Lecture 2 Exception Handling New Topic: Exceptions in Java You should now be familiar with: Advanced object-oriented design -

More information

CS112 Lecture: Exceptions. Objectives: 1. Introduce the concepts of program robustness and reliability 2. Introduce exceptions

CS112 Lecture: Exceptions. Objectives: 1. Introduce the concepts of program robustness and reliability 2. Introduce exceptions CS112 Lecture: Exceptions Objectives: 1. Introduce the concepts of program robustness and reliability 2. Introduce exceptions Materials: 1. Online Java documentation to project 2. ExceptionDemo.java to

More information

Introduction Unit 4: Input, output and exceptions

Introduction Unit 4: Input, output and exceptions Faculty of Computer Science Programming Language 2 Object oriented design using JAVA Dr. Ayman Ezzat Email: ayman@fcih.net Web: www.fcih.net/ayman Introduction Unit 4: Input, output and exceptions 1 1.

More information

CS 61B Data Structures and Programming Methodology. July 7, 2008 David Sun

CS 61B Data Structures and Programming Methodology. July 7, 2008 David Sun CS 61B Data Structures and Programming Methodology July 7, 2008 David Sun Announcements You ve started (or finished) project 1, right? Package Visibility public declarations represent specifications what

More information